OpenCV使用imgproc函数时出错(2)

时间:2011-12-19 20:08:33

标签: c++ opencv

每次我在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;
}

2 个答案:

答案 0 :(得分:2)

cv::Canny功能需要始终将灰度图像作为输入。您需要先将a转换为灰度。以下代码片段可以解决这个问题:

cv::cvtColor(a, a, CV_BGR2GRAY);

答案 1 :(得分:0)

您是否检查过imread后的'a'是什么?

如果因为“img.jpg”位于不同目录或您没有权限而失败,该怎么办?