利用OpenCV的Grabcut()函数实现图像的前景与背景的分割-并对Grabcut()作详细介绍
2016-07-22 14:50
686 查看
Graphcut是一种基于图论的分割方法,在计算机视觉领域中应用于前景分割、医学处理、纹理分割及立体视觉等方面,类似于PS中的抠图功能。基本图论的分割技术是图像分割领域中新的研究热点,该方法基于能量优化算法,将图像分割问题转换为图的最小割优化问题。
Grabcut是Graphcut算法的改进,Graphcut是一种直接基于图切算法的图像分割技术,仅仅需要确认前景与背景输入,该算法就可以完成背景与前景相似督导赋权图,并通过最优切割来实现图像分割。Grabcut算法可以不需要用户交互,仅仅需要输入包含目标前景的区域就可以完成前景与前景的分离。
Graphcut的目标和背景模型是灰度直方图,Grabcut采用的是RGB三通道混合高斯模型;Graphcut的能量最小化分割是能通过一次计算实现的,而Grabcut是根据分割模型参数更新完成学的学习过程;Graphcut需要用户输入前景与背景区域点集,而Grabcut只需要提供含有背景的区域像素集就可以完成分割。
上面三段话纯属装逼,实际上,只是对Grabcut算法和Graphcut算法大致的介绍,要说为什么是那样,我现在也说不清楚,如果想了解详细原理,可以参考相关论文和下面这三篇博文
http://blog.csdn.net/zouxy09/article/details/8532106
http://blog.csdn.net/zouxy09/article/details/8532111
http://blog.csdn.net/zouxy09/article/details/8534954
OpenCV中提供了Grabcut函数用于实现Grabcut操作,原型如下:
void grabCut(InputArray image, InputOutputArray mask, Rect rect, InputOutputArray bgdModel, InputOutputArray fgdModel, int iterCount, int mode)
对这个函数的参数的介绍和具体的示例代码请移帖帖子http://opencv66.net/thread-47-1-1.html
对这个函数的参数的介绍和具体的示例代码请移帖帖子http://opencv66.net/thread-47-1-1.html
对这个函数的参数的介绍和具体的示例代码请移帖帖子http://opencv66.net/thread-47-1-1.html
Grabcut是Graphcut算法的改进,Graphcut是一种直接基于图切算法的图像分割技术,仅仅需要确认前景与背景输入,该算法就可以完成背景与前景相似督导赋权图,并通过最优切割来实现图像分割。Grabcut算法可以不需要用户交互,仅仅需要输入包含目标前景的区域就可以完成前景与前景的分离。
Graphcut的目标和背景模型是灰度直方图,Grabcut采用的是RGB三通道混合高斯模型;Graphcut的能量最小化分割是能通过一次计算实现的,而Grabcut是根据分割模型参数更新完成学的学习过程;Graphcut需要用户输入前景与背景区域点集,而Grabcut只需要提供含有背景的区域像素集就可以完成分割。
上面三段话纯属装逼,实际上,只是对Grabcut算法和Graphcut算法大致的介绍,要说为什么是那样,我现在也说不清楚,如果想了解详细原理,可以参考相关论文和下面这三篇博文
http://blog.csdn.net/zouxy09/article/details/8532106
http://blog.csdn.net/zouxy09/article/details/8532111
http://blog.csdn.net/zouxy09/article/details/8534954
OpenCV中提供了Grabcut函数用于实现Grabcut操作,原型如下:
void grabCut(InputArray image, InputOutputArray mask, Rect rect, InputOutputArray bgdModel, InputOutputArray fgdModel, int iterCount, int mode)
对这个函数的参数的介绍和具体的示例代码请移帖帖子http://opencv66.net/thread-47-1-1.html
对这个函数的参数的介绍和具体的示例代码请移帖帖子http://opencv66.net/thread-47-1-1.html
对这个函数的参数的介绍和具体的示例代码请移帖帖子http://opencv66.net/thread-47-1-1.html
相关文章推荐
- 一些cmd命令和linux触摸板关启命令
- SOA标准之----SCA架构思想
- nginx应用场景
- nginx基础
- Apache Shiro学习笔记(三)用户授权
- 阿里云CentOS7挂载SSD云盘的方法
- 修改tomcat启动时间
- linux 基础学习入门 1
- 正确配置Linux系统ulimit值的方法【转】
- 实现aop思想的多种方法
- 如何正确配置 Nginx + PHP?
- Linux进程创建:fork,vfork,exec,clone总结
- linux 操作系统中rmkdir命令的使用
- Tomcat 安全配置与性能优化
- 理解镜像、容器和存储驱动
- 如何根据相机的参数知道摄像机的内参数矩阵
- linux 操作系统中pwd命令的使用
- 使用nginx做反向代理
- 教你用 google-drive-ocamlfuse 在 Linux 上挂载 Google Drive
- Tomcat web.xml中context-param,listener的作用及加载过程