使用opencv / c ++应用canny边缘检测器后出现“Unhandled exception”错误

时间:2013-12-05 09:29:29

标签: c++ opencv

当我尝试将Canny边缘检测器应用到我的图像中时,出现“未处理异常”错误。

int width;
int height;
cv::Mat dis = Mat(width, height, CV_32FC1,Dis);
cv::Mat cannyEdge(dis.rows, dis.cols, CV_32FC1);
GaussianBlur( dis, dis, Size(3, 3), 2, 2 );
Canny( dis, cannyEdge , 100 , 100 * 3, 3);
imshow("canny_edge",cannyEdge);
}

似乎一切都是正确的,但我在Canny函数调用行中得到错误...

提前感谢..

1 个答案:

答案 0 :(得分:2)

根据OpenCV documentation Canny()函数的参数

源图像 - 单通道8位 Desination - 与源相同的大小和类型。

您正在使用32位浮点图像。

尝试

cv::Mat dis = Mat(width, height, CV_8UC1,Dis);