OpenCV

[OpenCV] 이미지 처리 (flip, rotation)

괜찮나요닝겐 2024. 8. 17. 18:06
728x90
반응형

딥러닝에서 영상이나 이미지 처리를 할 때 opencv나 pillow를 많이 사용한다. 두 라이브러리는 비슷하면서도 다른데, opencv로 읽은 이미지는 BGR형식이고, pillow로 읽은 이미지는 RGB형식이다. 대부분의 딥러닝에 사용되는 이미지는 rgb형식으로 많이 쓰기 때문에, 한번 더 처리를 해야하는 opencv보다 pillow를 많이 쓸거 같지만 그냥 비슷하게 둘 다 쓰는것 같다. 

 

이미지를 읽는 방법은 매우 간단하다.

import cv2

image_path = "/my_dir/my_image.png"
image = cv2.imread(image_path)

 

그냥 cv2를 import하고 imread를 사용해주면 된다. 아! 만약 cv2가 import가 안된다면, 아래와 같이 설치해주자

pip install opencv-python

 

이미지를 읽었으니 이제 회전도 해볼까?

#cv2.ROTATE_90_CLOCKWISE: 시계방향 90도 회전
#cv2.ROTATE_90_COUNTERCLOCKWISE: 반시계방향 90도 회전
#cv2.ROTATE_180: 시계방향 180도 회전

rotation_image = cv2.rotation(image, cv2.ROTATE_90_CLOCKWISE)

 

회전도 해봤으니 이제 flip도 해보자

#0: 상하 반전
#1: 좌우 반전
flip_image = cv2.flip(image, 0)

 

이미지를 돌려도 보고 flip도 해봤는데, 이제 저장도 해보자

 

save_flip_path = "/my_dir/flip_image.png"
cv2.imwrite(save_flip_path, flip_image)

 

728x90
반응형

'OpenCV' 카테고리의 다른 글

[OpenCV] 이미지 처리 (합성2)  (0) 2024.08.17
[OpenCV] 이미지 처리 (합성1)  (0) 2024.08.17
[OpenCV] 이미지 처리 (crop)  (0) 2024.08.17
[OpenCV] 이미지 처리 (resize)  (0) 2024.08.17
[OpenCV] 이미지 처리 (밝기 조절)  (0) 2024.08.17