0
これは、グラブカットアルゴリズムの次のコードです。私は元の色の代わりに白色の結果としてforgroundを得たいと思います。ここには、linkの次のコードから得られた出力があります。このラインcv2.grabCut(img,mask,rect,bgdModel,fgdModel,5,cv2.GC_INIT_WITH_RECT)
後grabcutアルゴリズムの後に結果として得られるフォアグラウンドの色を白色に変更する方法は?
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()