每次我在opencv中使用图像处理函数时,都会出现c ++运行时错误。
这是我的代码,我得到“应用程序已请求以不寻常的方式终止它”
#include <opencv2/opencv.hpp>
#include <string>
int main() {
cv::Mat a = cv::imread("img.jpg");
cv::Mat b(a);
cv::Canny(a,b,250,300);
cv::namedWindow("Hello");
cv::imshow("Hello",b);
cv::waitKey(2000);
return 0;
}
答案 0 :(得分:2)
cv::Canny
功能需要始终将灰度图像作为输入。您需要先将a
转换为灰度。以下代码片段可以解决这个问题:
cv::cvtColor(a, a, CV_BGR2GRAY);
答案 1 :(得分:0)
您是否检查过imread后的'a'是什么?
如果因为“img.jpg”位于不同目录或您没有权限而失败,该怎么办?