[스터디노트] OpenCV - 투명한 PNG 파일 합성

Hwan·2024년 2월 12일

OpenCV

목록 보기
8/15
post-thumbnail

OpenCV 기초 사용 이전 내용들!

5. 투명한 PNG 파일 합성

(1) 4채널 PNG 파일 분석

  • 알파 채널이 있는 PNG 파일을 다른 영상에 합성하기

(2) 마스크 연산을 이용한 PNG 파일 합성

  • PNG 파일 합성 예제
import sys
import cv2

# 알파 채널을 마스크 영상으로 이용
src = cv2.imread('./data/cat.bmp', cv2.IMREAD_COLOR)
# IMREAD_UNCHANGED : 4채널로 구성된 png 파일의 알파 채널을 버리지 않고 불러옴
logo = cv2.imread('./data/opencv-logo-white.png', cv2.IMREAD_UNCHANGED)

if src is None or logo is None:
    print('image load failed')
    sys.exit

mask = logo[:,:, 3]  # mask는 알파 채널로 만든 마스크 영상
logo = logo[:,:,0:3]  # logo는 b, g, r 3채널로 구성된 컬러 영상
h, w = mask.shape[:2]
crop = src[10:10+h, 10:10+w]  # logo, mask와 같은 크기의 부분 영상 추출

cv2.copyTo(logo,mask, crop)

cv2.imshow('src', src)
cv2.imshow('logo', logo)
cv2.waitKey()
cv2.destroyAllWindows()

profile
Hi.

0개의 댓글