那颗螺丝钉 2021-04-10 09:41 采纳率: 100%
浏览 103
已结题

opencv addWeighted报错,求大神指教

Mat img = imread(filename.toStdString());

    imshow("src", img);

    Mat grad_x, grad_y;
    Mat abs_grad_x, abs_grad_y, dst;

    //求x方向梯度
    Sobel(img, grad_x, CV_16S, 1, 0, 3, 1, 1, BORDER_DEFAULT);
    convertScaleAbs(grad_x, abs_grad_x);
    imshow("x-soble", abs_grad_x);

    //求y方向梯度
    Sobel(img, grad_y, CV_16S, 0, 1, 3, 1, 1, BORDER_DEFAULT);
    convertScaleAbs(grad_y, abs_grad_y);
    imshow("y-soble", abs_grad_y);

    //合并梯度
    //cv::add(abs_grad_x,abs_grad_y,dst);
    addWeighted(abs_grad_x, 0.5, abs_grad_y, 0.5, 0, dst);
    imshow("Sobel", dst);
    return;

代码如上,参数传递没什么错误啊,运行到addweighted就报段错误,实在是找不到原因。

我后来用了最简单的cv::add(abs_grad_x,abs_grad_y,dst);也不行,也是报错

  • 写回答

3条回答 默认 最新

  • CSDN专家-黄老师 2021-04-10 14:28
    关注

    你这个是将OpenCV的功能写到qt里面吧,先单独测试OpenCV的功能是否正确,如果嵌到qt报错,试试用多线程执行一下

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 7月20日
  • 已采纳回答 7月12日