在vs2015和cv3.1,findContours()找出轮廓这个函数没反应,直接退出。这个函数是mat做输入的。
我觉得之前的灰度化,二值化没有问题。该是单通道的是单通道。
断点后,重新配置环境,还是有点搞不懂。
换成cvFindContours(),这个用IplImage做输入的。可以跑出结果。
mat转iplImage
opencv3.1取消了mat直接转iplImage部分函数,但是下面代码还是可以的
IplImage* src;
src = cvCreateImage(cvSize(mat.cols, mat.rows), 8, 1); //输入Mat格式
IplImage ipltemp = mat;
cvCopy(&ipltemp, src);//完全的imlImage进行复制
if (!src)
{
printf("read data error!\n");
return -1;
}
//ipltemp 就是要用的IplImage
IplImage转mat
这行代码可做到
cv::Mat temp = cv::cvarrToMat(dst);//iplImage转mat
对opencv还是有蛮多不懂的,比方mat为啥取消转IplImage的函数呀,
为啥有cvFindContours()没直接退出,findContours直接退出了。