5-1. 영상의 이동 변환과 전단 변환
기하학적 변환(Geometric Transformation)
영상을 구성하는 픽셀의 배치 구조를 변경함으로써 전체 영상의 모양을 바꾸는 작업
Translation, Euclidean, similarity, affine, projective 등 다양한 방식이 있다.
영상의 위치, 크기, 기울어짐 등을 보정할 수 있다.
이동 변환(Translation Transformation = Shift)
영상을 가로(x) 또는 세로(y) 축 방향으로 특정 크기만큼 이동시키는 변환
그래프적으로 표현한 이동 변환을 컴퓨터로 구현하기 위해 동차 좌표계(Homogeneous Coordinate)를 이용해 어파인(Affine) 변환 행렬을 찾아서 적용한다.

전단 변환(Shear Transformation)
영상을 가로(x) 또는 세로(y) 축 방향으로 특정 크기만큼 층을 밀어서 변환
이동 변환에서 0 자리 값에 층이 밀릴 정도를 결정하게 된며, x축과 y축 방향에 대해 따로 정의한다.

변환 함수(Affine 변환 사용)
cv2.warpAffine(src, M, dsize, dst, flags, boarderMode, boarderValue) -> dst
src는 입력 영상, dst는 출력 영상
M은 2x3 어파인 변환 행렬로 실수형으로 제공 (행렬의 a와b만큼 각각 x 축과 y축만큼 밀리게 된다)
dsize는 결과 영상의 크기로 (w,h) 튜플 형식으로 받는다. (0,0)이면 src와 동일한 크기로 설정
flags는 보간법으로 기본값은 cv2.INTER_LINEAR (5-2에서 더 자세한 설명 참고)
boarderMode는 가장자리 픽셀 확장 방식으로 기본값은 cv2.BORDER_CONSTANT
boarderValue는 boarderMode가 cv2.BORDER_CONSTANT일때 사용할 상수 값으로 기본값은 0 (검정색)


5-2. 영상의 확대와 축소
크기 변환(Sacle Transformation)
영상의 크기를 원본 영상보다 크게 또는 작게 만드는 변환
x축과 y축 방향으로의 스케일 비율(scale factor)로 조절

영상의 축소 시 픽셀 데이터를 잃어버려 디테일이 사라지는 경우가 발생
입력 영상을 부드럽게 필터링한 후 축소 방식으로 다단계적 축소 방식 선택
크기 변환 함수: cv2.resize(src, dsize, dst, fx, fy, interpolation) -> dst
src는 입력 영상, dst는 출력 영상
dsize는 출력 영상 크기로 (w,h) 튜플 형으로 제공. (0,0)으로 설정 하면 fx, fy 값에 의해 결정
fx, fy는 각각 x와 y축 방향 스케일 비율 (dsize가 (0,0)일때만 유효)
interpolation는 보간법 지정 플래그로 기본값은 cv2.INTER_LINEAR(가장 무난). 5가지 종류를 제공하는데 결과 영상 품질과 연산 시간을 고려하여 결정

대칭 변환(Reflection=Flip)
영상의 중심점에서 그려진 x축과 y축 기준으로 대칭 변환
대칭 변환 함수: cv2.flip(src, flipCode, dst) -> dst
src는 입력 영상, dst는 출력 영상
flipCode는 대칭 방향 지정 (양수: 좌우 대칭(y축) / 0: 상하 대칭(x축) / 음수: 좌우&상하 대칭)
인증 타임
이번 챕터에서는 다양한 영상 변환에 대해서 배우는 거 같다. 영상 편집 앱에서 흔히 사용하던 사이즈 조정이라던가 반전 이런 것들을 실제로 구현해보는 재미가 있을거 같다. 열심히 들어봐야지!


#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #OpenCV를 활용한 컴퓨터비전과 딥러닝 올인원 패키지 Online
패스트캠퍼스(FastCampus) 강의 둘러보러 가기
↓ ↓ ↓
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'남돈내배 > 2022_FastCampus_환급이벤트' 카테고리의 다른 글
| 패스트캠퍼스 챌린지 26일차 - Ch5. 기하학적 변환 (0) | 2022.02.18 |
|---|---|
| 패스트캠퍼스 챌린지 25일차 - Ch5. 기하학적 변환 (0) | 2022.02.17 |
| 패스트캠퍼스 챌린지 23일차 - Ch4. 필터링 (0) | 2022.02.15 |
| 패스트캠퍼스 챌린지 22일차 - Ch4. 필터링 (0) | 2022.02.14 |
| 패스트캠퍼스 챌린지 21일차 - Ch4. 필터링 (0) | 2022.02.13 |