opencv grabCap python实现

处理前
opencv grabCap python实现_第1张图片
image.png
处理后
opencv grabCap python实现_第2张图片
迭代五次
处理前后对比
opencv grabCap python实现_第3张图片
迭代2次

处理后模特的蓝眼珠被涂黑了,看久了简直是精神污染。解决办法是去mask里改动眼珠位置的值,设成确定的前景。


opencv grabCap python实现_第4张图片
https://www.cnblogs.com/little-monkey/p/7598529.html
上python源码:
import cv2
import numpy as np
import matplotlib.pyplot as plt

image = cv2.imread("C:/Users/liuxu/desktop/3.jpg")//打开一张图片,如果后续操作出错,先查一下路径写对了没
mask = np.zeros((image.shape[:2]),np.uint8)// 0表示明确属于背景,1表示明确属于前景
rec = (150,290,350,550)
bgdModel = np.zeros((1,65),np.float64)
fgdModel = np.zeros((1,65),np.float64)

res = cv2.grabCut(image,mask,rec,bgdModel,fgdModel,2,cv2.GC_INIT_WITH_RECT)
mask2 = np.where((mask==2)|(mask==0),0,1).astype('uint8') //明确属于背景和可能属于背景的地方都置为0,RGB的全0为黑色。
img = image*mask2[:,:,np.newaxis] 

cv2.imshow('hello',img)
cv2.waitKey(0)
cv2.destroyAllWindows() 

你可能感兴趣的:(opencv grabCap python实现)