我使用for语句检查每个像素的亮度,并尝试在亮度超过100时使其透明。但是透明度不起作用。
请看代码,image_al [x,y]的第四个是alpha通道。我该怎么办?(如果我改变bgr的值而不是透明度,它会发生变化。)
image = cv2.imread('cat.jpg', cv2.IMREAD_COLOR)
image_al=cv2.cvtColor(image,cv2.COLOR_BGR2BGRA)
image_hsv=cv2.cvtColor(image,cv2.COLOR_BGR2HSV)
for x in range(image_al.shape[0]):
for y in range(image_al.shape[1]):
px=image_hsv[x,y]
print(px)
if px[2]>100:
px=image_al[x,y]
image_al[x, y]=[px[0],px[1],px[2],255] #image_al[x, y]=[b,g,r,alpha]
cv2.imshow('image2',image_al)
cv2.waitKey(0)
开发环境:PyCharm,Windows