[ch05] 기하학적 변환 - 리매핑

빨주노·2021년 8월 22일
0

리매핑(remapping)

  • 영상의 특정 위치 픽셀을 다른 위치에 재배치하는 일반적인 프로세스
  • 어파인 변환, 투시 변환을 포함한 다양한 변환을 리매핑으로 변환 가능

리매핑 함수

cv2.remap(src, map1, map2, interpolation, dst=None, borderMode=None, borderValue=None) -> dst
  • src : 입력 영상
  • map1 : 결과 영상의 (x, y) 좌표가 참조할 입력 영상의 x좌표.
  • map2 : 결과 영상의 (x, y) 좌표가 참조할 입력 영상의 y좌표.
  • interpolation : 보간법
  • dst : 출력 영상
  • borderMode : 가장자리 픽셀 확장 방식. 기본값은 cv2.BORDER_CONSTANT.
  • borderValue : cv2.BORDER_CONSTANT일 때 사용할 상수 값. 기본값은 0.

삼각함수를 이용한 리매핑 예제

src = cv2.imread('tekapo.bmp')

h, w = src.shape[:2]

map2, map1 = np.indices((h, w), dtype=np.float32)
map2 = map2 + 10 * np.sin(map1/16)

dst = cv2.remap(src, map1, map2, cv2.INTER_CUBIC, borderMode=cv2.BORDER_DEFAULT)
  • map1과 map2는 아래와 같은 array이다.

profile
딥 하게 딥러닝 하는중

0개의 댓글

관련 채용 정보