Tech & Development/Image Processing
[ OpenCV ] Basic 5 - 이미지 상하, 좌우 대칭 (Flip)
Theo (테오)
2022. 3. 2. 19:20
반응형
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)을 따라 뒤집기 (좌우, 상하 대칭)
반응형