Проблема с cvCvtColor: необработанное исключение в «0x1002e4e4» в «opencvsample.exe»: 0xC0000005: нарушение прав доступа для чтения «0xffffffff» - PullRequest
0 голосов
/ 09 апреля 2010

У меня проблема с функцией OpenCV cvCvtColor. Вот код, который я использовал:

#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;
}

Это «необработанное исключение в« 0x1002e4e4 »в« opencvsample.exe »: 0xC0000005: нарушение прав доступа чтения« 0xffffffff ». (возможно я делаю ошибки в переводе, у меня русский VS2008). Это происходит на линии

cvCvtColor( g_image_copy, g_gray, CV_BGR2GRAY );

Что мне нужно сделать, чтобы решить проблему?

1 Ответ

0 голосов
/ 24 июля 2010

У меня была такая же проблема с вызовом cvCvtColor () в моем приложении. Замена предложенных библиотек их отладочными версиями решила эту проблему для меня. Я использовал:

cv200d.lib, cxcore200d.lib, highgui200d.lib

, чтобы связать мое приложение вместо

cv200.lib, cxcore200.lib, highgui200.lib

Кстати: возникла та же проблема после перехода на OpenCV 2.1 - снова использовались отладочные версии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...