这篇文章将为大家详细讲解有关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
定义了用GrabCut所用到的基本参数及方法
初始化mask,设置为背景
然后设置接N键来进行GrabCut的图像分割
鼠标按下事件里加入两个参数的初始化
鼠标松开事件里对Mask进行重新定义
初始化Mask的方法setROIMask
执行GrabCut方法
显示图像方法修改
关于C++中怎么利用 OpenCV实现图像分割就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。