opencv findContours 报错_acrt_first_block == header

报错_acrt_first_block == header

 之前一直使用OpenCV3.3+VS2015 

void AOIAlgorithm::findUnits(Mat& blkGray, vector<vector<cv::Point>> & blkContours)
{
	Mat blkOBW;
	blur(blkGray, blkGray, cv::Size(5, 5));
	threshold(blkGray, blkOBW, 0, 255, CV_THRESH_OTSU);
	morphologyEx(blkOBW, blkOBW, MORPH_OPEN, Mat(49, 49, CV_8U));
	cv::findContours(blkOBW, blkContours, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE, Point(0, 0));
};

在调用的时候传进来的blkContours是一个局部变量,在运行期间会有纪律崩溃,崩溃报错

看了下崩溃的堆栈,应该是在局部栈空间内释放资源导致的,按照之前网上其他你抄我我抄 你的文章都没有解决,所以

自己就把这个vector<vector<cv::Point>> & blkContours 声明成一个全局变量,这样就不用在栈空间内释放资源的时候崩溃了

发布了141 篇原创文章 · 获赞 118 · 访问量 163万+

猜你喜欢

转载自blog.csdn.net/pbymw8iwm/article/details/90371855
今日推荐