我正在寫一個簡單的算法來將RGB圖像從我的網絡攝像頭轉換爲HSV,它的編譯良好,但執行.exe時崩潰。Dev C++與OpenCV崩潰
#include <cv.h>
#include <highgui.h>
int main(int argc, char** argv)
{
// Cria uma janela.
cvNamedWindow("imagem", CV_WINDOW_AUTOSIZE);
// Cria a conexão com a webcam.
CvCapture *capture = cvCreateCameraCapture(0);
// Variável que armazena o frame.
IplImage *frame;
IplImage* imghsv = cvCreateImage(cvGetSize(frame),8,3);
while(1)
{
// Variável recebe o frame.
frame = cvQueryFrame(capture);
if(!frame) break;
cvCvtColor(frame, imghsv, CV_BGR2HSV);
// Exibe o frame na janela.
cvShowImage("imagem", frame);
cvShowImage("hsv", imghsv);
// Encerra o loop com uma tecla.
if(cvWaitKey(100) == 27) break;
}
// Libera a memória utiliazada.
cvReleaseImage(&frame);
cvReleaseImage(&imghsv);
cvReleaseCapture(&capture);
// Fecha a janela.
cvDestroyWindow("imagem");
cvDestroyWindow("hsv");
}
不行 「的IplImage * imghsv = cvCreateImage(cvGetSize(幀),8,3);」該.exe的作品,但算法只顯示我的形象。
我在Windows XP SP3中使用Dev C++ 4.9.9.2和OpenCV 2.1。 對不起英文。 謝謝
該問題已解決替換IplImage *frame;
IplImage *frame=cvQueryFrame(capture);
。
雅兩者都是相同的。第二個圖像doest知道幀的大小。請看看我的代碼。 – 2vision2