0
我阅读了很多帖子,但仍找不到解决方案。链接的库是正确的,并且代码可以很好地适用于许多其他openCV函数,但不适用于findContours。 我要发布我的代码:使用findContours时发生堆错误openCV
int check_broken(Mat src, Mat check){
vector<Mat> contours;
vector<Vec4i> hierarchy;
Mat check_gray,check_g;
cvtColor(src,check_gray,CV_BGR2GRAY);
threshold(check_gray,check_g,100,255,THRESH_BINARY);
namedWindow("ventana",CV_WINDOW_AUTOSIZE);
imshow("ventana",check_gray);
waitKey(0);
Mat dst(check.rows,check.cols,CV_8UC1,Scalar::all(0));
int count = 0;
findContours(check_g, contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE);
for (int i = 0; i < contours.size() ; i = hierarchy[i][0]){
Rect r = boundingRect(contours[i]);
if(hierarchy[i][2]<0){
rectangle(check,Point(r.x,r.y), Point(r.x+r.width,r.y+r.height),Scalar(0,0,255),3,8,0);
count++;
}
}
namedWindow("ventana",CV_WINDOW_AUTOSIZE);
imshow("ventana",dst);
waitKey(0);
destroyWindow("ventana");
return 0;
}
我在编译发布模式,所有的库相同版本的2413,我与VS10工作。我想知道如何处理这个问题。感谢帮助!
你的链接库是*
编译opencv_calib3d2413.lib opencv_contrib2413.lib opencv_core2413.lib opencv_features2d2413.lib opencv_flann2413.lib opencv_gpu2413.lib opencv_highgui2413.lib opencv_imgproc2413.lib opencv_legacy2413.lib opencv_ml2413。 LIB opencv_nonfree2413.lib opencv_objdetect2413.lib opencv_photo2413.lib opencv_stitching2413.lib opencv_superres2413.lib opencv_ts2413.lib opencv_video2413.lib opencv_videostab2413.lib 这些是为释放模式链接的库,我确定它们是正确的 –
这些是发布库。一定要在发布中运行你的代码。还请显示这些库的路径 – Miki