Visual c++ CVTColor问题:“opencvsample.exe”中“0x1002e4e4”处未处理的异常:0xC0000005:访问读取冲突“0xFFFFFF”
我对OpenCV函数CVTColor有问题。 以下是我使用的代码:Visual c++ CVTColor问题:“opencvsample.exe”中“0x1002e4e4”处未处理的异常:0xC0000005:访问读取冲突“0xFFFFFF”,visual-c++,opencv,Visual C++,Opencv,我对OpenCV函数CVTColor有问题。 以下是我使用的代码: #include "cv.h" #include "highgui.h" int main(void) { int g_thresh = 100; CvCapture* capture = cvCreateCameraCapture(0); IplImage* g_image = cvQueryFrame(capture); IplImage* g_image_copy = cvCloneImage(g_i
#include "cv.h"
#include "highgui.h"
int main(void)
{
int g_thresh = 100;
CvCapture* capture = cvCreateCameraCapture(0);
IplImage* g_image = cvQueryFrame(capture);
IplImage* g_image_copy = cvCloneImage(g_image);
cvNamedWindow( "Contours", 1 );
cvShowImage( "Contours", g_image );
IplImage* g_gray = cvCreateImage( cvSize(g_image->width, g_image->height), g_image->depth, 1 );
cvCvtColor( g_image_copy, g_gray, CV_BGR2GRAY );
cvThreshold( g_gray, g_gray, g_thresh, 255, CV_THRESH_BINARY );
CvMemStorage* g_storage = cvCreateMemStorage(0);
CvSeq* contours = 0;
cvFindContours( g_gray, g_storage, &contours );
cvZero( g_gray );
if( contours ){
cvDrawContours(
g_gray,
contours,
cvScalarAll(255),
cvScalarAll(255),
100 );
}
cvShowImage( "Contours", g_gray );
cvWaitKey();
return 0;
}
opencvsample.exe中0x1002e4e4处存在未处理的异常:0xC0000005:访问读取冲突0xFFFFFF。也许我在翻译时会出错,我有俄语VS2008。
它发生在第二行
cvCvtColor( g_image_copy, g_gray, CV_BGR2GRAY );
我需要做什么来解决这个问题?我的应用程序中的CVTColor调用也有同样的问题。用它们的调试版本替换建议的库为我解决了这个问题。 我用过: 链接我的应用程序而不是
cv200.lib, cxcore200.lib, highgui200.lib
顺便说一句:切换到OpenCV 2.1后出现了同样的问题-使用调试版本再次起作用
cv200.lib, cxcore200.lib, highgui200.lib