我在 opencv.org 上问过这个问题,但没有任何运气,所以我希望这里有人可以帮助我。
我正在开发面部/眼睛跟踪软件。测量眼睛的某些值(例如眨眼)。但是当我想使用该方法时
cv::findContour()
程序崩溃并显示:“Windows 在 eyeTracking.exe 中触发了断点......”
控制台中没有来自 opencv 的错误消息。
m = ~currentWebCamFrame(trackP.EyePosition(false));
cv::cvtColor(m,n, CV_RGB2GRAY);
cv::threshold(n, m, threshold-value, 255,CV_THRESH_BINARY);
cv::erode(m, n, cv::Mat(),cv::Point(-1,-1),n_erode_dilate);
cv::dilate(n, m, cv::Mat(),cv::Point(-1,-1),n_erode_dilate);
test = m.clone();
if((!test.empty()) && (test.type() == CV_8UC1)){
std::vector< std::vector<cv::Point> > contours;
cv::findContours( test, contours, CV_RETR_EXTERNAL,CV_CHAIN_APPROX_NONE );
};
我在网上搜索了一下,发现了几个类似的帖子,没有任何解决方案。
我的帖子@opencv.org:http://answers.opencv.org/question/12887/opencvfindcontour-crashes-v244-ms-visual-studio/ http://answers.opencv.org/question/12887/opencvfindcontour-crashes-v244-ms-visual-studio/在调用 findContour 之前图像是可见的。
我已经尝试解决这个问题几天了,但没有任何运气。所以我真的希望这里有人能帮助我解决这个问题。
edit:当单击断点窗口上的继续时,会出现以下消息:
Unhandled exception at 0x770540f2 in eyeTracking.exe: 0xC0000374: A heap is damaged.
Thanks!