grabcut代碼(python代碼)
import numpy as np
import cv2
from matplotlib import pyplot as plt
img=cv2.imread(‘C:\Users\86198\Desktop\1.jpeg’)
mask=np.zeros(img.shape[:2],np.uint8)
bgdModel=np.zeros((1,65),np.float64)
fgdModel=np.zeros((1,65),np.float64)
roi=cv2.selectROI(windowName=「roi」,img=img,showCrosshair=True,fromCenter=False)
rect=roi
cv2.grabCut(img,mask,rect,bgdModel,fgdModel,5,cv2.GC_INIT_WITH_RECT)
mask2=np.where((mask2)|(mask0),0,1).astype(‘uint8’)
img=img*mask2[:,:,np.newaxis]
plt.imshow(img),plt.colorbar(),plt.show()
結果: