[ OpenCV ] Basic 5 - 이미지 상하, 좌우 대칭 (Flip)
반응형
Image Flip
x축 또는 y축을 가로질러 이미지를 뒤집는 방법을 소개하겠습니다. 다시말하자면 이미지를 수평 또는 수직을 기준으로 미러링 이미지로 변환하는 것입니다. Flip은 이미지 데이터를 부풀리기 위해서 사용되기도 합니다.
Import packages
import cv2 import numpy as np import imutils import matplotlib.pyplot as plt
Jupyter Notebook 및 Google Colab에서 이미지를 표시할 수 있도록 Function으로 정의
def img_show(title='image', img=None, figsize=(8 ,5)): plt.figure(figsize=figsize) if type(img) == list: if type(title) == list: titles = title else: titles = [] for i in range(len(img)): titles.append(title) for i in range(len(img)): if len(img[i].shape) <= 2: rgbImg = cv2.cvtColor(img[i], cv2.COLOR_GRAY2RGB) else: rgbImg = cv2.cvtColor(img[i], cv2.COLOR_BGR2RGB) plt.subplot(1, len(img), i + 1), plt.imshow(rgbImg) plt.title(titles[i]) plt.xticks([]), plt.yticks([]) plt.show() else: if len(img.shape) < 3: rgbImg = cv2.cvtColor(img, cv2.COLOR_GRAY2RGB) else: rgbImg = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) plt.imshow(rgbImg) plt.title(title) plt.xticks([]), plt.yticks([]) plt.show()
Load Image
cv2_image = cv2.imread('asset/images/test_image.jpg', cv2.IMREAD_COLOR)
Flip
이미지를 가로로 뒤집기 (좌우 대칭)
print("[INFO] flipping image horizontally...") flipped = cv2.flip(cv2_image, 1) img_show(["Original", "Flipped Horizontally"], [cv2_image, flipped])

이미지를 세로로 뒤집기 (상하 대칭)
print("[INFO] flipping image vertically...") flipped = cv2.flip(cv2_image, 0) img_show(["Original", "Flipped Vertically"], [cv2_image, flipped])

이미지를 두 축(x, y)을 따라 뒤집기 (좌우, 상하 대칭)

반응형
'Tech & Development > Image Processing' 카테고리의 다른 글
[ OpenCV ] Basic 7 - 이미지 자르기 (Crop) (0) | 2022.11.21 |
---|---|
[ OpenCV ] Basic 6 - 이미지 크기조정 (Resize) (0) | 2022.03.02 |
[ OpenCV ] Basic 4 - 이미지 회전 (Rotate) (0) | 2022.03.02 |
[ OpenCV ] Basic 3 - 이미지 이동 (Shift) (0) | 2022.03.02 |
[ OpenCV ] Basic 2 - 기본 그리기 (선, 점, 사각형, 원) (0) | 2022.01.10 |
댓글
이 글 공유하기
다른 글
-
[ OpenCV ] Basic 7 - 이미지 자르기 (Crop)
[ OpenCV ] Basic 7 - 이미지 자르기 (Crop)
2022.11.21 -
[ OpenCV ] Basic 6 - 이미지 크기조정 (Resize)
[ OpenCV ] Basic 6 - 이미지 크기조정 (Resize)
2022.03.02Image Resize 고해상도의 이미지는 사람의 눈으로 보기에는 좋아 보이지만 컴퓨터가 연산하거나 이미지 파이프라인 처리에는 좋지 않을 수 있습니다. 이미지가 큰 경우 더 많은 데이터가 필요하기 때문에 알고리즘이 데이터를 처리하는 데 오래 걸리기 때문입니다. 이런 고해상도 이미지는 매우 디테일하지만, 컴퓨터 비전/이미지 처리 관점에서 볼 때 이러한 디테일한 사항보다는 이미지의 구조적 구성 요소가 더 중요하기 때문에 고해상도의 이미지를 다운샘플링하여 더 빠르고 정확하게 실행될 수 있도록 합니다. Import packages import cv2 import imutils import matplotlib.pyplot as plt Jupyter Notebook 및 Google Colab에서 이미지를 표시하고 … -
[ OpenCV ] Basic 4 - 이미지 회전 (Rotate)
[ OpenCV ] Basic 4 - 이미지 회전 (Rotate)
2022.03.02 -
[ OpenCV ] Basic 3 - 이미지 이동 (Shift)
[ OpenCV ] Basic 3 - 이미지 이동 (Shift)
2022.03.02Image Shift OpenCV를 이용하여 이미지를 이동하는 방법에 대해 설명드리겠습니다. imutils를 이용하여 간단하게 이미지를 이동 할 수 있지만 기본이 되는 affine transformation matrix (cv2.warpAffine)을 사용하는 방법을 포함하여 설명드리도록 하겠습니다. affine transformation matrix 이라고 하는 2 x 3 행렬을 정의해야 합니다. 이 행렬은 이미지가 왼쪽 또는 오른쪽으로 몇 픽셀을 이동될 것인지, 또는 이미지를 위 또는 아래로 몇 픽셀이 이동할 것인지 정의합니다. 음수 t{x} 값은 이미지를 왼쪽 으로 이동 양수 t{x} 값은 이미지를 오른쪽 으로 이동 음수 t{y} 값은 이미지 를 위로 이동 양수 t{y} 값은 이미지 를 아래로 이동…
댓글을 사용할 수 없습니다.