- 이미지 피라미드란?
- 하나의 영상에 대해 다양한 해상도의 영상 세트를 구성한 것
- 보통 가우시안 블러링 & 다운샘플링 형태로 축소하여 구성
- 영상 피라미드 다운샘플링
cv2.pyrDown(src,dst=None,dstsize=None,borderType=None) -> dst
• src: 입력 영상
• dst: 출력 영상
• dstsize : 출력 영상 크기 . 따로 지정하지 않으면 입력 영상의 가로 , 세로 크기의 1/2 로 설정
• borderType: 가장자리 픽셀 확장 방식
• 참고 사항
★ 먼저 5x5 크기의 가우시안 필터를 적용
★이후 짝수 행과 열을 제거하여 작은 크기의 영상을 생성
- 영상 피라미드 업샘플링
cv2.pyrUp(src,dst=None,dstsize=None,borderType=None) -> dst
• src: 입력 영상
• dst: 출력 영상
• dstsize : 출력 영상 크기 . 따로 지정하지 않으면 입력 영상의 가로 , 세로 크기의 2 배 설정
• borderType: 가장자리 픽셀 확장 방식
- 피라미드 영상에 사각형 그리기 예제
import sys
import numpy as np
import cv2
src = cv2.imread('cat.bmp')
if src is None:
print('Image load failed!')
sys.exit()
rc=(250,120,200,200) #rectangle tuple x,y,w,h
cpy=src.copy()
cv2.rectangle(cpy,rc,(0,0,255),2) #마지막 인자=두께
cv2.imshow('src',cpy)
cv2.waitKey()
for i in range(1,4):
src=cv2.pyrDown(src)
cpy=src.copy()
cv2.rectangle(cpy,rc,(0,0,255),2,shift=i) #shift 인자 그리기 좌표값의 축소 비율
cv2.imshow('src',cpy)
cv2.waitKey()
cv2.destroyWindow('src')
'Computer Vision > opencv(python)' 카테고리의 다른 글
[31] 5) 어파인 변환과 투시 변환 (0) | 2021.03.21 |
---|---|
[30] 4) 영상의 회전 (0) | 2021.03.21 |
[28] 2) 영상의 확대와 축소 (0) | 2021.03.20 |
[27] 5.기하학적 변환 1)영상의 이동 변환과 전단 변환 (0) | 2021.03.20 |
[26] 6) 잡음제거 - 양방향 필터 (0) | 2021.03.19 |