2019-8-26 opencv图像处理16-CrabCut算法交互式前景抽取(Interactive Foreground Extraction using GrabCut Algorithm)

GrabCut算法是一种由微软剑桥研究院提出的交互式图像前景抽取方法,只需少量用户交互即可实现良好效果。用户首先划定矩形框,算法通过迭代分割处理,若分割不理想,用户可进行修正。算法使用高斯混合模型对前景和背景建模,通过最小割算法进行分割,直至分类收敛。Opencv提供了cv.grabCut()函数来实现这一算法。
摘要由CSDN通过智能技术生成

官网参见 https://docs.opencv.org/3.4.1/d8/d83/tutorial_py_grabcut.html

GrabCut算法是微软剑桥研究院的Carsten Rother, Vladimir Kolmogorov和Andrew Blake在《“GrabCut”: interactive foreground extraction using iterated graph cuts 》中提出的。该算法只需要很小的人机交互实现前景抽取。

从用户角度来看该算法是如何工作的呢?
首先用户画一个矩形来框住前景区域。(前景必须完全包含在矩形框中)然后算法对它进行迭代分割来获得很好的结果。

但是有时候分割的效果并不好。有可能是前景区域被标记为背景,或者背景区域被标记为前景。此时,就需要用户自行修改了,其实只需要在错误部位画一笔。这一笔的含义就是“hi,这个区域应该是前景(背景),你把它标记为背景(前景)了。”等到下一次交互时候,你就可以得到很好的结果了。

观察下图
在这里插入图片描述

左图,首先把球员和足球框在蓝色矩形框中。然后做了一些修改,白色笔画表示这是前景,黑色画笔表示这是背景。最终,就能在右图得到很好的结果。

在这个过程中,实际在背后发生了什么呢?

  • 用户输入一个矩形框,在此框外部的都是背景区域。(上面已经说过,你的框必须包含所有对象)矩形框内的所有东西都是未知的。用户指定的前景和背景都会被认为是硬标签(hard-labelling),整个过程中它们不会改变。
  • 计算机会对我们提供的数据(输入图像
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值