当我尝试将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函数调用行中得到错误...
提前感谢..
答案 0 :(得分:2)
根据OpenCV documentation Canny()函数的参数
源图像 - 单通道8位 Desination - 与源相同的大小和类型。
您正在使用32位浮点图像。
尝试
cv::Mat dis = Mat(width, height, CV_8UC1,Dis);