在使用findcontours函数过程中,出现莫名其妙的错误,造成程序无法运行,根据网上的所有解决措施做了一下实验都没有解决,后来发现一个令人尴尬的问题,现在大体说一下。
首先说一下网上给的方法,具体如以下几个网址,大家可以自行查看:
1、https://www.cnblogs.com/wangtianning1223/p/13588505.html
2、https://blog.csdn.net/fightingforcv/article/details/78423866
3、根据自己的VS版本重新编译opencv;
但是在此过程中,按照网上的方法都是失效的,最后查看opencv中关于此函数的说明:
void cv::findContours ( InputOutputArray image,
OutputArrayOfArrays contours,
OutputArray hierarchy,
int mode,
int method,
Point offset = Point()
)
InputArray类型的image,即输入的源图像,是Mat类型的8位单通道图像。本人的生成的虽然也是二值图像,但是经过分析其为3通道数据。可以利用cvtColor函数进行二值化的操作即可。