【发布时间】:2017-03-24 11:47:10
【问题描述】:
我一直在尝试使用 python opencv 从抓取输出中删除黑色背景。
import numpy as np
import cv2
img = cv2.imread(r'myfile_1.png')
mask = np.zeros(img.shape[:2],np.uint8)
bgdModel = np.zeros((1,65),np.float64)
fgdModel = np.zeros((1,65),np.float64)
rect = (1,1,665,344)
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]
cv2.imshow('img',img)
cv2.imwrite('img.png',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
以上代码是我为保存抓取输出而编写的。请建议,如何去除黑色背景并使其透明?
【问题讨论】:
-
您只需要为图像添加一个带有前景的 Alpha 通道。之前已在此处回答:stackoverflow.com/questions/35886307/…
-
如果背景为白色,如何使其透明?
标签: python-3.x opencv opencv3.0