본문 바로가기

Python OpenCV

이미지 피라미드

🙋‍♂️ 오늘은 이미지 피라미드에 대해서 공부한 내용을 정리합니다!

 

 이미지 피라미드 (Image pyramid) 란?

1. 하나의 영상에 대해 다양한 해상도의 영상 세트를 구성한 것

2. 다운샘플링: 이미지를 점차 줄여나가는 샘플링

3. 업샘플링: 이미지를 점차 크게 키워나가는 샘플링

 

 예제 코드

 

import sys
import numpy as np
import cv2
 
src = cv2.imread('cat.bmp')
 
if src is None:
    print('Image load failed!')
    sys.exit()
 
rc = (250120200200)  # rectangle tuple
 
# 원본 영상에 그리기
cpy = src.copy()
cv2.rectangle(cpy, rc, (00255), 2)
cv2.imshow('src', cpy)
cv2.waitKey()
 
# 피라미드 영상에 그리기
for i in range(14):
    src = cv2.pyrDown(src)
    cpy = src.copy()
    cv2.rectangle(cpy, rc, (00255), 2, shift=i)
    cv2.imshow('src', cpy)
    cv2.waitKey()
# 제일 마지막 영상에서 화면이 겹치는것을 방지
# 닫혔다 열리는 방식
    cv2.destroyWindow('src')
 
cv2.destroyAllWindows()
cs

 

🖼️ 결과 이미지

 

원본 이미지에서의 사각형 그리기
축소를 3번한 결과

 

본 학습 내용은 "OpenCV를 활용한 컴퓨터비전과 딥러닝"을 참고하였음을 알려드립니다.

'Python OpenCV' 카테고리의 다른 글

어파인 변환과 투시 변환  (0) 2024.02.12
영상의 확대와 축소  (0) 2024.02.12
영상의 이동 변환과 전단 변화  (2) 2024.02.10
특정 색상 영역 추출하기  (0) 2024.02.09
히스토그램 분석  (0) 2024.02.09