Как я могу сделать некоторые пиксели прозрачными в opencv? - PullRequest
3 голосов
/ 22 декабря 2019

Я проверил яркость каждого пикселя с помощью оператора for и попытался сделать его прозрачным, если яркость превысила 100. Но невидимость не работает.

посмотрите на код, четвертый из image_al [x, у] является альфа. Что я должен делать? (Если вы используете значение 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...