十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章将为大家详细讲解有关C++中怎么利用 OpenCV实现图像分割,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
专注于为中小企业提供成都网站制作、做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业沁水免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
参数说明:
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
定义了用GrabCut所用到的基本参数及方法
初始化mask,设置为背景
然后设置接N键来进行GrabCut的图像分割
鼠标按下事件里加入两个参数的初始化
鼠标松开事件里对Mask进行重新定义
初始化Mask的方法setROIMask
执行GrabCut方法
显示图像方法修改
关于C++中怎么利用 OpenCV实现图像分割就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。