728x90
opencv 라이브러리 임포트
import cv2
검정 색: (0, 0, 0)
흰 색: (255, 255, 255)
마스킹하기
관심 있는 영역은 0이 아닌 픽셀 값으로 채우고
그 외 영역은 0 픽셀 값으로 채운다
픽셀 값 복사 함수
# 마스킹 이미지에서 0이 아닌 픽셀만 복사한다
cv2.copyTo([원본 이미지], [마스킹 이미지], [픽셀이 0인 부분에 들어갈 이미지])
원본 이미지, 마스킹 이미지, 새롭게 만들어질 이미지 모두 크기가 같아야 한다
[픽셀이 0인 부분에 들어갈 이미지]는없어도 된다.
# 셋 다 사이즈가 똑같아야 함
src = cv2.imread('data/cat.jpg') # 원본 이미지
mask = cv2.imread('data/cat_mask.jpg') # 마스크 이미지
# 이미지 복사. 원본을 마스킹해서 새로운 곳에 갖다 붙여라
dst = cv2.copyTo(src, mask)
cv2.imshow('masking', dst)
cv2.waitKey()
cv2.destroyAllWindows()
짜잔
이번에는 픽셀이 검정 부분(0인 부분)에 들어갈 이미지를 넣어볼게요
# 셋 다 사이즈가 똑같아야 함
src = cv2.imread('data/cat.jpg') # 원본 이미지
mask = cv2.imread('data/cat_mask.jpg') # 마스크 이미지
dst = cv2.imread('data/cat_redcarpet.jpg') # 검은 색 부분에 들어갈 값
# 이미지 복사. 원본을 마스킹해서 새로운 곳에 갖다 붙여라
cv2.copyTo(src, mask, dst)
cv2.imshow('masking', dst)
cv2.waitKey()
cv2.destroyAllWindows()
짝짝짝~~
좀 더 자세하게
https://github.com/stonegyoung/OpenCV/blob/main/cat_masking.ipynb
'비전' 카테고리의 다른 글
[MediaPipe] 포즈 인식 (0) | 2024.08.25 |
---|---|
[MediaPipe] 얼굴 인식 (0) | 2024.08.23 |
[OpenCV] 특정 색 검출 (0) | 2024.08.20 |
[OpenCV] 그리기 함수 (0) | 2024.08.19 |
[OpenCV] 이미지, 동영상 (0) | 2024.08.17 |