- 리매핑 (remapping)
- 영상의 특정 위치 픽셀을 다른 위치에 재배치하는 일반적은 프로세스
- 어파인 변환, 투시 변환을 포함한 다양한 변환을 리매핑으로 표현 가능
- 리매핑 함수
cv2.remap(src,map1,map2,interpolation,dst=None,borderMode=None,borderValue=None) -> dst
• src : 입력 영상
• map1: 결과 영상의 (x, y) 좌표가 참조할 입력 영상의 x 좌표
입력 영상과 크기는 같고 타입은 np.float32 인 numpy.ndarray
• map2: 결과 영상의 (x, y) 좌표가 참조할 입력 영상의 y 좌표
• interpolation: 보간법
• dst 출력 영상
• borderMode : 가장자리 픽셀 확장 방식 . 기본값은 cv2.BORDER_CONSTANT.
• borderValue cv2.BORDER_CONSTANT 일 때 사용할 상수 값 . 기본값은 0.
- 삼각함수를 이용한 리매핑 예제
import sys
import numpy as np
import cv2
src = cv2.imread('tekapo.bmp')
if src is None:
print('Image load failed!')
sys.exit()
h, w = src.shape[:2]
map2, map1 = np.indices((h, w), dtype=np.float32)
map2 = map2 + 10 * np.sin(map1 / 32)
dst = cv2.remap(src, map1, map2, cv2.INTER_CUBIC, borderMode=cv2.BORDER_DEFAULT)
cv2.imshow('src', src)
cv2.imshow('dst', dst)
cv2.waitKey()
cv2.destroyAllWindows()
'Computer Vision > opencv(python)' 카테고리의 다른 글
[34] 6. 영상의 특징 추출 1) 영상의 미분과 소벨 펠터 (0) | 2021.03.22 |
---|---|
[33] 7) 문서 스캐너 구현 (0) | 2021.03.21 |
[31] 5) 어파인 변환과 투시 변환 (0) | 2021.03.21 |
[30] 4) 영상의 회전 (0) | 2021.03.21 |
[29] 3) 이미지 피라미드 (0) | 2021.03.21 |