OpenCV学习笔记-图像分割之GrabCut
grabCut(img, mask, rect, bgdModel, fgdModel, iterCount, mode=None)
bdgModel,fgdModel: 算法内部使用的数组,只需要创建两个大小为(1,65),数据类型为np.float64的数组
img = cv.imread('img/meixi.jpg') newmask = cv.imread('img/meixi_2.png', 0)cv.imshow('meixi_1', newmask) cv.imshow('image', img) #转成rgb格式 b,g,r=cv.split(img) img[:,:,0]=r img[:,:,2]=bmask = np.zeros(img.shape[:2], np.uint8)bgdModel = np.zeros((1, 65), np.float64) fgbModel = np.zeros((1, 65), np.float64)rect = (80, 20, 230, 270) cv.grabCut(img, mask, rect, bgdModel, fgbModel, 5, cv.GC_INIT_WITH_RECT) mask2 = np.where((mask==2)|(mask==0), 0, 1).astype('uint8') img = img * mask2[:,:,np.newaxis] plt.imshow(img) plt.show()
newmask = cv.imread('img/meixi_2.png', 0) cv.imshow('meixi_1', newmask) mask[newmask == 0] = 0 mask[newmask == 255] = 1 mask, bgdModel, fgbModel = cv.grabCut(img, mask, None, bgdModel, fgbModel, 5, cv.GC_INIT_WITH_MASK) mask2 = np.where((mask==2)|(mask==0), 0, 1).astype('uint8') img = img * mask2[:,:,np.newaxis] plt.imshow(img) plt.show()
打开
OpenCV学习笔记-图像分割之GrabCut相关推荐
- Opencv学习笔记 图像分割三(ImageJ 分水岭)
ImageJ是一款基于 java的,由 National Institutes of Health(NIH)开发的一款功能强大的图像处理软件,在科研中应用极为广泛.其中也是包含有java实现的分水岭算 ...
- 分水岭算法java,OpenCV 学习笔记 04 深度估计与分割——GrabCut算法与分水岭算法...
1 使用普通摄像头进行深度估计 1.1 深度估计原理 这里会用到几何学中的极几何(Epipolar Geometry),它属于立体视觉(stereo vision)几何学,立体视觉是计算机视觉的一个分 ...
- OpenCv学习笔记4--图像分割之GrabCut算法
说明: 本文章是opencv学习笔记系列的第四篇小结,可能前几篇内容太多,排版也不甚合理,所以为了更好的观看体验,这次的内容会稍微少那么一点点,再次重申 所有代码在我的github主页https:// ...
- OpenCV学习笔记(十二)——图像分割与提取
在图像处理的过程中,经常需要从图像中将前景对象作为目标图像分割或者提取出来.例如,在视频监控中,观测到的是固定背景下的视频内容,而我们对背景本身并无兴趣,感兴趣的是背景中出现的车辆.行人或者其他对象. ...
- OpenCV学习笔记(十六)——CamShift研究 OpenCV学习笔记(十七)——运动分析和物体跟踪Video OpenCV学习笔记(十八)——图像的各种变换(cvtColor*+)imgproc
OpenCV学习笔记(十六)--CamShift研究 CamShitf算法,即Continuously Apative Mean-Shift算法,基本思想就是对视频图像的多帧进行MeanShift运算 ...
- opencv python 直方图反向投影_python OpenCV学习笔记直方图反向投影的实现
本文介绍了python OpenCV学习笔记直方图反向投影的实现,分享给大家,具体如下: 它用于图像分割或寻找图像中感兴趣的对象.简单地说,它创建一个与我们的输入图像相同大小(但单通道)的图像,其中每 ...
- OpenCV 学习笔记(Watershed)
OpenCV 学习笔记(Watershed) Watershed,中文一般翻译为分水岭算法.分水岭算法是一种图像区域分割算法,它把位置接近,灰度值也接近的像素点连接起来形成一个封闭的区域.关于分水岭算 ...
- OpenCV 学习笔记03 boundingRect、minAreaRect、minEnclosingCircle、boxPoints、int0、circle、rectangle函数的用法...
函数中的代码是部分代码,详细代码在最后 1 cv2.boundingRect 作用:矩形边框(boundingRect),用于计算图像一系列点的外部矩形边界. cv2.boundingRect(arr ...
- opencv学习笔记(二):基于肤色的人手检测
opencv学习笔记(二):基于肤色的人手检测 原文:http://blog.csdn.net/wzmsltw/article/details/50849810 先写了人手的检测程序,下一步基于检测程 ...
最新文章
- 方阵旋转180度JAVA代码_方阵顺时针旋转的实现代码
- String为什么是不可变类型?
- python numpy sum函数,numpy.sum()的使用详解
- setseed_Java Random setSeed()方法与示例
- 提升R代码运算效率的11个实用方法——并行、效率
- 26. Magento 常用(1)
- AI - 机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总
- java 代码走查_Java代码走查具体考察点
- BAT4行代码让电脑蓝屏(无伤害)
- 使用阿里云服务来部署云桌面
- 互联网思维之迭代思维
- 2023-2029年中国博物馆旅游行业市场经营管理及发展前景规划报告
- poj 2586 Y2K Accounting Bug
- 简述固定资产的全生命周期管理流程
- 关于编码问题的复制黏贴
- 学画画要花多少钱_孩子学画画大约需要多少钱呢?
- 03 循环、字符串、列表、元祖、字典
- 深度学习常见数据集汇总
- 不干正事儿系列文章1:Sonic Pi简单应用
- 优麒麟 2204 与 win10 双系统安装笔记
热门文章
- 服务器无法重命名 请确定磁盘未满或未被写保护而且文件夹未被使,请确定磁盘未满或未被写保护而且文件未被使用 解决办法...
- 5SHX0660F0001 IGCT ABB 5SHX0660F0001 3BHL00386P0101
- Oracle营销云与微信集成,打造个性化体验
- 计算机系统的有哪些功能是什么意思,olt是什么意思(olt有什么功能和用途)
- WTF Solidity极简入门: 39链上随机数
- ccna出来能做什么_CCNA的完整形式是什么?
- 滴滴大数据安全权限实践
- 产品数据管理(PDM)技术与应用
- 刚看到的《当幸福来敲门》体会浓缩版
- c小项目,小码资金管理工具