ビルドした後、メモリ不足エラーが発生しました。resultImage!= NULLの場合、これ以上画像を作成しないようにしましたが、それでもこの問題が発生します。
私は多くの検索を行いましたが、この問題を解決する方法を見つけることができませんでした。誰かがこの問題で私を助けることができますか?その非常に単純なコードは、ウェブカメラからフレームをキャプチャして色を変換するだけです。私はVB2010 C ++ExpressEditionとopencv2.4を使用しています。
ええと、私はopencvと言語cも初めてです。可能であれば、間違ったコードを修正してください。
#include "stdafx.h"
int main(){
CvCapture* capture = cvCaptureFromCAM(0);
if(!capture) return -1;
char key;
cvNamedWindow("Frame");
IplImage* frameImage = NULL;
IplImage* resultImage = NULL;
IplImage* HSVImage = NULL;
while(1){
frameImage = cvQueryFrame(capture);
if(!frameImage) break;
if(resultImage == NULL){
resultImage = cvCreateImage(cvGetSize(frameImage),IPL_DEPTH_8U,3);
HSVImage = cvCreateImage(cvGetSize(frameImage),IPL_DEPTH_8U,3);
}
resultImage = cvCloneImage(frameImage);
cvCvtColor(resultImage,HSVImage,CV_RGB2HSV);
cvShowImage("Frame",HSVImage);
key = cvWaitKey(20);
if(key == 27) break;
}
cvReleaseCapture(&capture);
cvReleaseImage(&resultImage);
cvReleaseImage(&HSVImage);
cvDestroyAllWindows();
return 0;
}