728x90
반응형
코드 및 이미지 : https://github.com/Seokii/Study_OpenCV
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()
- 반복문을 통해 위에서 진행했던 결과를 화면에 출력합니다.
- 위의 사진들은 순서대로 각각 원본, x_flip, y_flip, xy_flip, repeat, transpose의 결과 사진입니다.
도움이 되셨다면 아래 광고 한 번만 클릭해주세요 감사합니다!
728x90
반응형
'머신러닝 & 딥러닝 > 컴퓨터 비전' 카테고리의 다른 글
[OpenCV with Python] - 09. 관심 영역(ROI) 지정 및 값 확인 (0) | 2021.09.25 |
---|---|
[OpenCV with Python] - 08. 컬러 채널 분리하기 (0) | 2021.09.21 |
[OpenCV with Python] - 06. matplotlib에 이미지 불러오기 cv2.cvtColor() (0) | 2021.09.15 |
[OpenCV with Python] - 05. 사진 파일 불러오기 (0) | 2021.09.12 |
[OpenCV with Python] - 04. 텍스트 입력해보기 (0) | 2021.09.04 |
댓글