摘要:输入图像蒙版图像,指定哪些区域是背景,前景或可能的背景前景等它是由下面的标志,,,,,或简单地将,,,传递给图像。
Interactive Foreground Extraction using GrabCut Algorithm
mask, bgdModel, fgdModel = cv2.grabCut(img, mask, rect, bgdModel, fgdModel, iterCount[, mode])
img:输入图像
mask :蒙版图像,指定哪些区域是背景,前景或可能的背景/前景等.它是由下面的标志,cv2.GC_BGD,cv2.GC_FGD,cv2.GC_PR_BGD,cv2.GC_PR_FGD,或简单地将0,1,2,3传递给图像。
rect :矩形的坐标,包含了前景对象的格式(x,y,w,h)
bdgModel, fgdModel :算法内部使用的数组,只需要创建两个大小为(1,65)的np.float64类型的0数组.
iterCount :算法运行的迭代次数.
mode :cv2.GC_INIT_WITH_RECT或cv2.GC_INIT_WITH_MASK,或者组合起来决定我们是画矩形还是最后的触点.
import numpy as np import cv2 from matplotlib import pyplot as plt img = cv2.imread("messi5.jpg") mask = np.zeros(img.shape[:2],np.uint8) bgdModel = np.zeros((1,65),np.float64) fgdModel = np.zeros((1,65),np.float64) rect = (50,50,450,290) cv2.grabCut(img,mask,rect,bgdModel,fgdModel,5,cv2.GC_INIT_WITH_RECT) mask2 = np.where((mask==2)|(mask==0),0,1).astype("uint8") img = img*mask2[:,:,np.newaxis] plt.imshow(img),plt.colorbar(),plt.show()
梅西少了头发,我们会有1像素的修补(确定前景),与此同时,有些地方的地面已经出现了我们不想要的画面,还有一些标志,我们需要移除它们.在那里我们提供了0像素的修补(当然是背景).
# newmask is the mask image I manually labelled newmask = cv2.imread("newmask.png",0) # wherever it is marked white (sure foreground), change mask=1 # wherever it is marked black (sure background), change mask=0 mask[newmask == 0] = 0 mask[newmask == 255] = 1 mask, bgdModel, fgdModel = cv2.grabCut(img,mask,None,bgdModel,fgdModel,5,cv2.GC_INIT_WITH_MASK) mask = np.where((mask==2)|(mask==0),0,1).astype("uint8") img = img*mask[:,:,np.newaxis] plt.imshow(img),plt.colorbar(),plt.show()
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/42050.html
摘要:将图片的处理方法放到视频中的每一帧,再加上弹幕飞过的效果,就完成了版的智能防挡弹幕。不知道站的实现方法是怎样,是否有人工干预,是否有预计算。 某天代码写得老眼昏花,去B站上摸鱼,突然发现奇怪的现象: showImg(https://segmentfault.com/img/remote/1460000017911829?w=600&h=284); 哟呵,B站竟然做了 视频前景提取 ,把...
摘要:理论任何灰度图像都可以看作是地形表面,其中高强度表示山峰和丘陵,而低强度表示山谷用不同颜色的水标签填充每个孤立的山谷局部最小值,随着水的上升,明显具有不同的颜色的水将开始融合为避免这种情况,需要在水合并的位置建立障碍,在所有的山峰都被水淹没 Image Segmentation with Watershed Algorithm 理论 任何灰度图像都可以看作是地形表面,其中高强度表示山...
摘要:之成为图像处理任务的最佳选择,是因为这一科学编程语言日益普及,并且其自身免费提供许多最先进的图像处理工具。该库包含基本的图像处理功能,包括点操作使用一组内置卷积内核进行过滤以及颜色空间转换。图像处理系统有时被称为图像处理的瑞士军刀。 showImg(https://segmentfault.com/img/remote/1460000019442221);编译:张秋玥、小七、蒋宝尚 本...
摘要:但无论是用于何种用途,这些图像都需要进行处理。图像处理中的常见任务包括显示图像,基本操作如裁剪翻转旋转等,图像分割,分类和特征提取,图像恢复和图像识别。图像处理系统有时被称为图像处理的瑞士军刀。 showImg(https://segmentfault.com/img/remote/1460000019631626); 原文标题:10 Python image manipulation...
阅读 2017·2021-11-15 17:57
阅读 715·2021-11-11 16:54
阅读 2563·2021-09-27 13:58
阅读 3926·2021-09-06 15:00
阅读 871·2021-09-04 16:45
阅读 3441·2019-08-30 15:56
阅读 1761·2019-08-30 15:53
阅读 1522·2019-08-30 14:12