0
cvAbsDiff(imaggray, imaggray1, imaggray2);
CvScalar sumDiff = cvSum (imaggray2);
ar1[0] =   (long int) sumDiff.val[0] + (long int) sumDiff.val[1] + (long int) sumDiff.val[2];

ar1これは、がlong int配列である C++ コードです。imaggrayイメージとの絶対差imaggray1は に格納されimaggray2ます。

パイソンでは:

cv.AbsDiff(imaggray, imaggray1, imaggray2)

2 行目と 3 行目を python に変換するのに問題があります。

どうすればいいですか?

4

1 に答える 1

0

Abid がコメントしたように、cv モジュールではなく cv2 を使用します。cv2 は c++ インターフェイスに基づいているため、OOP が実行できることを前提として、より少ないコード行数でスクリプトを開発できます。cv2 を使用するもう 1 つの利点は、python ステートメントがその c++ ステートメントにほぼ類似していることです。

drawing2 = cv2.absdiff(drawing,drawing0)
sc = cv2.sumElems(drawing2)
ar = sc[0] + sc[1] + sc[2]

詳細はこちら

于 2013-07-07T23:13:41.317 に答える