머신러닝 & 딥러닝/컴퓨터 비전

[OpenCV with Python] - 07. 사진 뒤집기, 반복, 전치 반환

by seokii 2021. 9. 16.
728x90
반응형

코드 및 이미지 : https://github.com/Seokii/Study_OpenCV

 

GitHub - Seokii/Study_OpenCV: study about OpenCV

study about OpenCV. Contribute to Seokii/Study_OpenCV development by creating an account on GitHub.

github.com


OpenCV를 활용하여 사진 뒤집기, 반복, 전치 행렬 출력을 해보도록 하겠습니다.

 

함수 설명(flip, repeat, transpose)

1.1. cv2.flip(src, flipCode[, dst]) -> dst

: 입력된 2차원 배열을 수직, 수평, 양축으로 뒤집는다.

  • src, dst : 입력 배열, 출력 배열
  • flipCode : 배열을 뒤집는 축 (0: x축, 1: y축, -1: x축과 y축 모두)

 

1.2. cv2.repeat(src, ny, nx[, dst]) -> dst

: 입력 배열을 반복적으로 복사하여 출력한다.

  • src, dst : 입력 배열, 출력 배열
  • ny : 수직 방향 반복 횟수
  • nx : 수평 방향 반복 횟수

 

1.3. cv2.transpose(src[, dst]) -> dst

: 입력한 행렬을 전치 행렬로 출력 반환한다.

  • src, dst : 입력 배열, 출력 배열

 

주피터 노트북으로 구현하기

In [1] :

import cv2
cat = cv2.imread("images/cat.jpg", cv2.IMREAD_COLOR)

- 필요한 라이브러리와 사진 파일을 불러옵니다. (사진 파일을 Unsplash에서 다운로드했습니다.)

 

In [2] :

x_flip = cv2.flip(cat,0)
y_flip = cv2.flip(cat,1)
xy_flip = cv2.flip(cat, -1)

- flip() 함수를 사용하여 사진을 각각 x축, y축, 양축을 기준으로 뒤집습니다.

 

In [3] :

repeat_cat = cv2.repeat(cat, 2, 3)

- 사진을 수직 방향으로 2회, 수평 방향으로 3회 반복 배치합니다.

 

In [4] :

transpose_cat = cv2.transpose(cat)

- 사진의 행렬을 전치 반환합니다.

 

In [5] :

array = ['cat','x_flip', 'y_flip', 'xy_flip', 'repeat_cat', 'transpose_cat']

for i in array:
    cv2.imshow(i, eval(i))
cv2.waitKey(0)
cv2.destroyAllWindows()

- 반복문을 통해 위에서 진행했던 결과를 화면에 출력합니다.

 

 

Original
x_flip, y_flip, xy_flip
repeat
transpose

- 위의 사진들은 순서대로 각각 원본, x_flip, y_flip, xy_flip, repeat, transpose의 결과 사진입니다.

 

 

 

 

도움이 되셨다면 아래 광고 한 번만 클릭해주세요 감사합니다!

728x90
반응형

댓글