我正在Visual 2013上编程,使用OpenCV v2.4.8。这是我的密码
#define _CRT_SECURE_NO_WARNINGS
#include <cv.h>
#include <highgui.h>
int main(int argc, char* argv[])
{
cv::Mat image = cv::imread(argv[1], 0);
image = image > 100;
std::vector<std::vector<cv::Point> > contours;
cv::findContours(image, contours, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE);
return 0;
}在发布模式下一切正常,我不明白为什么它在调试模式下不能正常工作。它导致调试断言在return 0;失败。
(表达式:_pFirstBlock == pHead)。
我想轮廓有问题。
非常感谢你的帮助。
发布于 2014-10-18 12:29:38
属性> C++ >代码生成>运行时libarary:
如果MSVC运行时库被设置为多线程调试DLL (/MDd),那么这是没有问题的(它工作得很好)。
如果MSVC运行时库被设置为多线程调试(/MTd),那么它将抛出此错误,该错误可以用以下说明修复。
https://stackoverflow.com/questions/21809784
复制相似问题