findContours在发布模式下崩溃

时间:2014-12-18 17:03:22

标签: c++ opencv visual-studio-2013

我试图在图像中阅读并找到其中的可怕内容。如果我在调试模式下构建,代码就像我期望的那样,但当我尝试在发布模式下构建时,findContours会崩溃。我确保我在正确的库中链接以便发布,所以这似乎不是问题所在。 imread和阈值都是读取数据并按照应有的方式工作。这是我试图运行的代码:

Mat src;
Mat src_gray;

src = imread(imageIn, 1);

cvtColor(src, src_gray, CV_BGR2GRAY);
blur(src_gray, src_gray, Size(3, 3));

Mat threshold_output;
vector<vector<Point> > contours;
vector<Vec4i> hierarchy;

threshold(src_gray, threshold_output, 100, 255, THRESH_BINARY);
findContours(threshold_output, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, Point(0, 0));

我得到的erorr是 0x00007FFF89CE0D6C(ntdll.dll)的未处理异常就像我说的,它在调试模式下工作正常,所以我不确定是什么原因导致它在发布模式下崩溃。

以下是我正在阅读的图片:

Source Image

这是我找到轮廓并在调试模式下裁剪后的图像。

Contours

我使用的是Visual Studio 2013和OpenCV 2.4.9 64位。我链接的库是opencv_core249.lib,opencv_highgui249.lib,opencv_imgproc249.lib,并且我使用相同的dll来执行可执行文件。一切都来自预先构建的OpenCV文件夹\ build \ x64 \ _vc12。

0 个答案:

没有答案