Próbowałem usunąć czarne tło z obrazu wyjściowego przy użyciu Pythona opencv.Usunięcie czarnego tła i uczynienie przezroczystym z pobranego obrazu w pythonie otwórz cv
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()
Powyższy kod, który napisałem, aby zapisać wyjście do przechwytywania. Proszę zasugerować, w jaki sposób mogę usunąć czarne tło i uczynić je przezroczystym?
Wszystko, czego potrzebujesz, to dodanie kanału alfa z pierwszym planem do obrazu. Odpowiedź na to pytanie została już udzielona tutaj: http://stackoverflow.com/questions/35886307/how-to-make-white-part-of-the-image-transparent-by-using-android-opencv – masad
Dziękuję, Masad. Uratowałeś mi dzień. –