본문 바로가기

개인공부/python

나 혼자 하는 프로젝트 5탄 - OpenCV - 5. 이미지 대칭, 회전

이미지를 출력하는 과정에서, 원본 이미지를 회전하거나 대칭(좌우/상하)시키는 작업이 필요한 경우가 발생한다.

좌우대칭을 위해서는 cv2.flip()을 사용하는데 flipCode값 (두번째 전달값)을 0보다 크게 해주면 된다.

flipCode값을 0으로 설정해주면 상하대칭이 된다.

filpCode값을 -1 (0보다 작음)으로 설정해주면, 두 대칭이 동시에 일어난다. 시계방향으로 180도 회전이 된 것과 동일하다.

 

방향을 회전하기 위해서는 cv2.rotate()를 이용한다.

이때에는 cv2.ROTATE_90_CLOCKWISE 란 옵션값을 전달해주면 시계 방향으로 90도 회전된 이미지를 얻을 수 있다.

전체 이미지가 돌아가기 때문에, 너비와 높이값이 역전된다.

180도 회전의 경우 방향이 의미가 없기 때문에 cv2.ROTATE_180 으로 설정해 주면 된다.

시계 반대 방향으로 90도 회전은 시계 방향 270도 동일하다.

반대방향으로 옵션값을 설정할 때에는 cv2.ROTATE_90_COUNTERCLOCKWISE 로 설정하면 된다.