OpenCV中findContours函数的使用
http://blog.csdn.net/corcplusplusorjava/article/details/20536251
FindContours()函数使用时导致的程序崩溃问题的解决方案
http://blog.csdn.net/auto1993/article/details/52694521
以上方案没有解决问题。
问题
FindContours()中method参数导致程序异常
解决方法
int b;
int g;
int r;
for (int i = 0; i < srcImage.rows; i++)
{
for (int j = 0; j < srcImage.cols; j++)
{
b = srcImage.at <cv::Vec3b >(i, j)[0];//得到一个像素值上的b分量
g = srcImage.at <cv::Vec3b >(i, j)[1];//得到一个像素值上的g分量
r = srcImage.at <cv::Vec3b>(i, j)[2];//得到一个像素值上的r分量
if (abs(b - 138) < 50 && abs(g - 63 < 50 && abs(r - 28) < 50))//在这个范围内的就把它设置为白色
{
srcImage.at <cv::Vec3b >(i, j)[0] = 255;
srcImage.at <cv::Vec3b >(i, j)[1] = 255;
srcImage.at <cv::Vec3b >(i, j)[2] = 255;
}
else
{
srcImage.at <cv::Vec3b >(i, j)[0] = 0;//在这个范围内的就把它设置为黑色
srcImage.at <cv::Vec3b >(i, j)[1] = 0;
srcImage.at <cv::Vec3b >(i, j)[2] = 0;
}
}
}
以上代码用
cvtColor(srcImage, srcImage, COLOR_BGR2GRAY);
替换后,问题解决。