画像の輪郭を見つけたいので、openCV を使用して輪郭を描画します。私はVS 2012とOpenCV 2.4.5を使用しています。輪郭の検索と輪郭の描画に関するサンプルコードを書きました。Bu私はその恐ろしいエラーを積み上げました:)どんな助けにも感謝します
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));
}
}
}
私のしきい値およびその他の必要な機能は非常にうまく機能します。しかし、私のプログラムは、輪郭と drawcontour 関数を見つけることに積み重ねられました。次のように述べています。
Unhandled exception at 0x00B3A52A (opencv_imgproc245d.dll) in OpencvTest.exe:
0xC0000005: Access violation reading location 0xCDCDCDCD