QiuQ_103 2023-02-12 13:00 采纳率: 40%
浏览 17
已结题

open cv + mfc ,编写凸包法程序遇到 “无效参数传递给了将无效参数视为严重错误的函数” 的问题

VC2017 + open cv + mfc ,编写凸包法程序遇到 “无效参数传递给了将无效参数视为严重错误的函数” 的问题

img

可能代码这样写就是错的,我是自己把灰度化后的图片进行二值化代入现成的凸包程序里了,麻烦各位指点迷津,感激!

void CMFC03Dlg::OnClickedButton11()
{
    // TODO: 在此添加控件通知处理程序代码
    Mat dst, bin, src2;
    int thre = 100;
    int threMax = 255;
    cv::cvtColor(Src, dst, COLOR_RGB2GRAY);
    threshold(dst, bin, thre, threMax, THRESH_BINARY);

    vector<vector<Point>>contourPoints;
    vector<Vec4i>hierarchy;

    //bin.create(dst.rows, Src.cols, CV_8UC1);
    
/////////////////////////////就是在下面代码出现了无效参数错误///////////////////////////////////
    findContours(bin, contourPoints, hierarchy, RETR_TREE, CHAIN_APPROX_SIMPLE, Point(0, 0));

    vector<vector<Point>>convexs(contourPoints.size());
    vector<Vec4i>empty(0);

    for (size_t i = 0; i < contourPoints.size(); i++)
    {
        convexHull(contourPoints[i], convexs[i], true, false);
    }

    RNG rng(12345);
    src2 = Mat::zeros(dst.size(), CV_8UC3);
    for (size_t k = 0; k < contourPoints.size(); k++)
    {
        Scalar color = Scalar(rng.uniform(0, 255), rng.uniform(0, 255), rng.uniform(0, 255));
        Scalar color2 = Scalar(0, 255, 0);
        drawContours(src2, contourPoints, k, color, 2, LINE_8, hierarchy, 0, Point(0, 0));
        drawContours(src2, convexs, k, color2, 2, LINE_8, empty, 0, Point(0, 0));
    }

    IplImage *frame;
    IplImage Image = IplImage(src2);
    frame = &Image;
    ShowImage(frame, IDC_STATIC1);

}

展开全部

  • 写回答

1条回答 默认 最新

  • 元气少女缘结神 2023-02-12 13:35
    关注

    在16行前加上 imwrite("bwimg.jpg",bin); 看下这幅图是否正常的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    QiuQ_103 2023-02-13 03:19

    谢谢您的回答,我把你给我两个问题的回答都填上去了(另一个是RETR_TREE 改成 RETR_CCOMP),运行结果是imwrite("bwimg.jpg",bin)读取位置发生冲突,并且文件夹里多出一张0kb的bwing图片,打不开

    回复
    元气少女缘结神 回复 QiuQ_103 2023-02-13 04:40

    打不开说明bin图有问题,你对有问题的图找轮廓当然失败了。

    回复
    元气少女缘结神 回复 元气少女缘结神 2023-02-13 06:44

    说白了是个空图!证明你前面的流程有问题,等bin图是正确二值图后再去findcontours

    回复
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 2月20日
  • 已采纳回答 2月13日
  • 创建了问题 2月12日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部