温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C++中怎么利用 OpenCV实现图像分割

发布时间:2021-07-02 17:44:05 来源:亿速云 阅读:711 作者:Leah 栏目:大数据

这篇文章将为大家详细讲解有关C++中怎么利用 OpenCV实现图像分割,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

参数说明:

img:   输入图像

result:    分段结果 

              mask图像的值只能为下面下面4个值(PR,probably表示可能的):
              GC_BGD    = 0,  //背景
              GC_FGD    = 1,  //前景
              GC_PR_BGD = 2,  //可能背景
              GC_PR_FGD = 3   //可能前景

rect:     包含前景的矩形

bgdModel:   背景

fgdModel:    前景

iterCount:   迭代次数,必须大于0

mode:用于指示grabcut用什么函数进行操作

             GC_INIT_WITH_RECT  //用矩形框初始化

             GC_INIT_WITH_MASK  //用掩码图像初始化

             GC_EVAL                       //执行分割


代码演示

我们用的是上节课的鼠标回调事件的项目opencv--Grabcut

C++中怎么利用 OpenCV实现图像分割

定义了用GrabCut所用到的基本参数及方法

初始化mask,设置为背景

C++中怎么利用 OpenCV实现图像分割

然后设置接N键来进行GrabCut的图像分割

C++中怎么利用 OpenCV实现图像分割

鼠标按下事件里加入两个参数的初始化

C++中怎么利用 OpenCV实现图像分割

鼠标松开事件里对Mask进行重新定义

C++中怎么利用 OpenCV实现图像分割

初始化Mask的方法setROIMask

C++中怎么利用 OpenCV实现图像分割

执行GrabCut方法

C++中怎么利用 OpenCV实现图像分割

显示图像方法修改

C++中怎么利用 OpenCV实现图像分割

关于C++中怎么利用 OpenCV实现图像分割就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI