プロが教えるわが家の防犯対策術!

opencvのc言語で2枚の画像の差分をとりたいのですが,最後の差分をとるところでエラーが出てしまいます.

char *filename = "動画の名前.avi";
CvCapture* cap = cvCaptureFromAVI(filename);//filename:const char*型のファイル名 filenameの動画像を読み込む
double framecount = (int)cvGetCaptureProperty(cap, CV_CAP_PROP_FRAME_COUNT);//フレーム数を数える

IplImage *srcCur=NULL;
IplImage *srcOld=NULL;


cvSetCaptureProperty(cap, CV_CAP_PROP_POS_FRAMES, 1);
srcOld = cvQueryFrame(cap);//1フレーム目の画像を読み込む

cvSetCaptureProperty(cap, CV_CAP_PROP_POS_FRAMES, 2);
srcCur = cvQueryFrame(cap);//2フレーム目の画像を読み込む

cvAbsDiff(srcOld2,srcCur2,dst);←ここでエラーがでます。

エラー内容は多分,差分するためには,同じ画像サイズ同士で
同じ型どうしでないといけないと書かれていますが,
同じ動画から読み込まれているので,違うことはありえないと思います.

どうしたらいいですか?

A 回答 (2件)

『cvAbsDiff(srcOld2,srcCur2,dst);←ここでエラーがでます。



srcOld2 や srcCur2 という末尾2のものは、どのように取得されていますか?

この回答への補足

すみません.そこはcvAbsDiff(srcOld,srcCur,dst);の間違えです.

補足日時:2014/09/17 18:29
    • good
    • 0

dst の宣言が見つかませんが、どうなってますか?

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!