Below code doesn't draw any line on png image
imgPath = "./images/dummy.png"
img = cv2.imread(imgPath,cv2.IMREAD_UNCHANGED)
imgBGR = img[:,:,:3]
imgMask = img[:,:,3]
cv2.line(imgBGR, (200,100), (250,100), (0,100,255), thickness=9, lineType=cv2.LINE_AA)
plt.imshow(imgBGR[:,:,::-1])
On creating copy of BGR channel and using it to draw line works.
imgPath = "./images/dummy.png"
img = cv2.imread(imgPath,cv2.IMREAD_UNCHANGED)
imgBGR = img[:,:,:3]
imgMask = img[:,:,3]
imgBGRCopy = imgBGR.copy()
cv2.line(imgBGRCopy , (200,100), (250,100), (0,100,255), thickness=9, lineType=cv2.LINE_AA)
plt.imshow(imgBGRCopy [:,:,::-1])
Please explain why?