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

書き込みさせていただきます。

今、OpenCVのサンプルにあるfacedetectをいじっているのですが、赤い円もしっかりと顔を認識することができました。
その中に静止画像の保存をするプログラムを入れたいのですが、実行をすると赤い円はしっかりと表示されるのですが、保存すると消えてしまいます。理由がまったくわからないので教えていただければ幸いです。

if( capture )
{
for(;;)
{
     //カメラからの入力画像1フレームをframeImageに格納する
frameImage = cvQueryFrame( capture );

if( !cvGrabFrame( capture ))
break;
frame = cvRetrieveFrame( capture );
if( !frame )
break;

if( !frame_copy )
frame_copy = cvCreateImage( cvSize(frame->width,frame->height),
IPL_DEPTH_8U, frame->nChannels );
if( frame->origin == IPL_ORIGIN_TL )
cvCopy( frame, frame_copy, 0 );
else
cvFlip( frame, frame_copy, 0 );
   //画像を輝度画像に変換,縮小,ヒストグラムを平坦化
detect_and_draw( frame_copy );

//画像を表示する
cvShowImage( windowNameCapture, frameImage );
//cvShowImage( windowNameFace, faceImage );

//キー入力が行われるまで表示を続ける
key = cvWaitKey( 2 );

//'c'キーが入力されったら画像を保存する
if ( key == 'c' ){
sprintf(filename,"C:/Documents and Settings/ryoji/My Documents/My Pictures/CV-P/fame%d.bmp", count);
 cvSaveImage(filename,frameImage);
 count++;
}

//'q'キーが入力されたらループを抜ける
else if ( key == 'q' ){
break;
}
}

cvReleaseImage( &frame_copy );
cvReleaseCapture( &capture );
}
facedetectのファイルの中にcが押されたら保存、qが押されたら終了にしています。保存、終了ともにできていますが、赤い丸だけ消えます。

よろしくお願いします。

A 回答 (1件)

丸印を描画したイメージは frame_copy なのでは


cvSaveImageに与えている frameImageはカメラからのキャプチャー画像でその後加工していないようですが ・・・
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

無事できました。
ありがとうございました。

お礼日時:2008/11/14 17:04

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