Eliminar el fondo negro y hacer transparente la salida grabcut en python open cv

He estado tratando de eliminar el fondo negro de la salida grabcut usando 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()

Sobre el código que había escrito para guardar la salida grabcut. Sugiera, ¿cómo puedo eliminar el fondo negro y hacerlo transparente?

Respuestas a la pregunta(2)

Su respuesta a la pregunta