영상의 이동 변환과 전단 변환

매일 공부(ML)·2021년 11월 28일
0

OPEN CV

목록 보기
23/45

영상의 기하학적 변환

  • 영상을 구성하는 픽셀 배치구조 변경을 통해 전체 영상의 모양 바꾸기

  • image registration, removal of geometric distortion

영상의 이동 변환

  • 이동 변환(Translation transformation)

    • 가로 또는 세로 방향으로 영상을 특정 크기만큼 이동시키며 변환
    • x축과 y축 방향으로 이동변위 지정

  • 영상의 어파인 변환 함수
cv2.warpAffine(src, M, dsize, dst=None, flags=None, 
borderMode=None, borderValue=None) -> dst
  • src: 입력 영상

  • M: 2 * 3 어파인 변환 행렬.실수형

  • dsize: 결과 영상 크기. (w,h)튜플로 (0,0)이면 src와 같은 크기

  • dst: 출력 영상

  • flags: 보간법. 기본값은 cv2.INTER_LINEAR

  • borderMode: 가장자리 픽셀 확장 방식으로 기본값은 cv2.BORDER_CONSTANT.

  • borderValue: cv2.BORDER_CONSTANT일때 사용할 상수 값으로 기본 값은 0이다.

  • 예제
src = cv2.imread('tekapo.bmp')

aff = np.array([[1, 0, 200],
  				[0, 1, 100]], dtype=np.float32)

dst = cv2.warpAffine(src, trn, (0, 0))

영상의 전단 변환

  • 전단 변환(Shear transformation)

    • 층 밀림 변환. x축과 y축 방향에 대해 따로 정의한다.

  • 예제
src = cv2.imread('tekapo.bmp')

aff = np.array([[1, 0.5, 0], [0, 1, 0]], dtype=np.float32)

h, w = src.shape[:2]
dst = cv2.warpAffine(src, aff, (w + int(h * 0.5), h))

profile
성장을 도울 아카이빙 블로그

0개의 댓글