[Python+OpenCV] 이미지의 투명 부분을 흰색으로 칠합니다.
소개
이미지의 투명 부분을 흰색으로 칠하는 프로그램의 샘플입니다.
그물에서 살펴보면 for 문으로 픽셀을 스캔하거나 RGB를 얻은 후 알파 채널을 결합하는 방법을 살펴 보았습니다.
이러한 복잡한 처리를 하지 않고 몇 줄로 구현할 수 있었으므로, 자신용의 메모도 겸해 기사에 남겨 둡니다.
환경
실행 예
아래의 투명 이미지를 검정색으로 칠합니다(흰색으로 칠하면 변화를 모르기 때문에).
소스 코드
# -*- coding:utf-8 -*-
import cv2
import numpy as np
# 入力画像を読み込み(-1指定でαチャンネルも読み取る)
img = cv2.imread("kangaru.png", -1)
# αチャンネルが0となるインデックスを取得
# ex) ([0, 1, 3, 3, ...],[2, 4, 55, 66, ...])
# columnとrowがそれぞれ格納されたタプル(長さ2)となっている
index = np.where(img[:, :, 3] == 0)
# 白塗りする
img[index] = [255, 255, 255, 255]
# 出力
cv2.imwrite("output.png", img)
결론
α채널의 취득도, 투과 부분의 백칠도 간단하게 실장할 수 있었네요.
Reference
이 문제에 관하여([Python+OpenCV] 이미지의 투명 부분을 흰색으로 칠합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Hajime-Ito/items/f6ab47092a6dd36d55e8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# -*- coding:utf-8 -*-
import cv2
import numpy as np
# 入力画像を読み込み(-1指定でαチャンネルも読み取る)
img = cv2.imread("kangaru.png", -1)
# αチャンネルが0となるインデックスを取得
# ex) ([0, 1, 3, 3, ...],[2, 4, 55, 66, ...])
# columnとrowがそれぞれ格納されたタプル(長さ2)となっている
index = np.where(img[:, :, 3] == 0)
# 白塗りする
img[index] = [255, 255, 255, 255]
# 出力
cv2.imwrite("output.png", img)
결론
α채널의 취득도, 투과 부분의 백칠도 간단하게 실장할 수 있었네요.
Reference
이 문제에 관하여([Python+OpenCV] 이미지의 투명 부분을 흰색으로 칠합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Hajime-Ito/items/f6ab47092a6dd36d55e8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여([Python+OpenCV] 이미지의 투명 부분을 흰색으로 칠합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Hajime-Ito/items/f6ab47092a6dd36d55e8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)