我想找到我的图像的轮廓,然后我想使用 openCV 绘制轮廓。我正在使用 VS 2012 和 OpenCV 2.4.5 我编写了有关查找轮廓和绘制轮廓的示例代码。但是我堆积了那个可怕的错误:)如果有任何帮助,我将不胜感激
void MyClass::findContoursAndDraw(cv::Mat image,int b,int g,int r)
{
findContours(image,contours,CV_RETR_LIST,CV_CHAIN_APPROX_SIMPLE);
for(int i=0;i<contours.size();i++)
{
int size=cv::contourArea(contours[i]);
if(size>500)
{
printf("%i \n",size);
drawContours(originalTemp,contours,i,cv::Scalar(b,g,r),2,8);
}
}
}
void MyClass::findContoursAndDrawFilled(cv::Mat image,int b,int g,int r)
{
findContours(image,contours,CV_RETR_LIST,CV_CHAIN_APPROX_SIMPLE);
for(int i=0;i<contours.size();i++)
{
int size=cv::contourArea(contours[i]);
if(size>3000)
{
printf("%i \n",size);
drawContours(originalImg,contours,i,cv::Scalar(b,g,r));
}
}
}
我的阈值和其他必要的功能运作良好。但是我的程序堆积在寻找轮廓和绘制轮廓功能上。说:
Unhandled exception at 0x00B3A52A (opencv_imgproc245d.dll) in OpencvTest.exe:
0xC0000005: Access violation reading location 0xCDCDCDCD