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);也不行,也是报错

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

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632