2 szdxlyx szdxlyx 于 2014.12.15 19:07 提问

Exception at memory location 求解决

我的是vs2010+opencv2.4.9 在调试运行时有时会出现这个问题:Unhandled exception at 0x75af812f in Contours.exe: Microsoft C++ exception: cv::Exception at memory location 0x0014eac8..
比如一个寻找二值图像轮廓并绘制的程序,源程序为:
#include "stdio.h"
#include "iostream"
#include "opencv2/core/core.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
using namespace std;
using namespace cv;

int main()
{
Mat image=imread("C:\Users\Administrator\Desktop\images\binary.bmp");
vector>contours;
findContours(image,contours,CV_RETR_EXTERNAL,CV_CHAIN_APPROX_NONE);
Mat result(image.size(),CV_8U,Scalar(255));
drawContours(result,contours,-1,Scalar(0,0,255),1);
namedWindow("show");
imshow("show",result);
waitKey();
}
这个问题困扰了我很久,求大神解救

5个回答

devmiao
devmiao   Ds   Rxr 2014.12.15 20:44

你的程序里面路径是双斜杠么?

qq_36508372
qq_36508372 非常感谢 问题解决了,但是为什么必须用双斜杠呢
10 个月之前 回复
szdxlyx
szdxlyx 是双斜杠,有些字符粘贴过来网页会显示错
3 年多之前 回复
devmiao
devmiao   Ds   Rxr 2014.12.15 20:43

Mat image=imread("C:\Users\Administrator\Desktop\images\binary.bmp");

szdxlyx
szdxlyx   2014.12.16 09:04

不好意思 之前复制程序的时候出了点错,现在的程序是
#include "stdio.h"
#include "iostream"
#include "opencv2/core/core.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
using namespace std;
using namespace cv;
int main()
{
Mat image=imread("C:\Users\Administrator\Desktop\images\binary.bmp");
vector>contours;
findContours(image,contours,CV_RETR_EXTERNAL,CV_CHAIN_APPROX_NONE);
Mat result(image.size(),CV_8U,Scalar(255));
drawContours(result,contours,-1,Scalar(0),2);
namedWindow("show");
imshow("show",result);
waitKey();
}
但运行这个程序还是同样一个问题。以前在学习其它程序时也出现过同样的问题,但程序上一直没发现错误,我在想会不会是vs或电脑配置方面出了问题。

szdxlyx
szdxlyx   2014.12.16 09:09

粘贴过来的程序还是不对,我原本的路径里面是双斜杠,变量coutours是vector>型

matuanmi4346
matuanmi4346   2017.03.22 18:14

我也遇到这个问题,你是怎么解决的呀

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!