[ OpenCV ] Basic 7 - 이미지 자르기 (Crop)
반응형
Image Crop
Crop은 이미지에서 필요한 이미지의 일부만 잘라내기 위해 사용합니다. 예를들어, 이미지에서 얼굴 영역만 찾아 잘라내는 기능을 개발한다면 Crop을 통해 잘라낼 수 있습니다.
Import packages
import cv2 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)

Crop
OpenCV를 통해 불러온 이미지는 Numpy Array 입니다. Numpy Array slicing 을 이용하여 이미지를 자를 수 있습니다.

cv2_image[0, 3:5]
Output:
array([[220, 223, 221], [224, 233, 237]], dtype=uint8)
이미지에서 원하는 영역을 자르기 위해서는 [ startY:endY, startX:endX ] 형태로 Array slicing 합니다.
# Y1:Y2, X1:X2 face = cv2_image[500:800, 400:750] img_show(["face"], [face])

반응형
'Tech & Development > Image Processing' 카테고리의 다른 글
[OpenCV] Basic 9 - 이미지 경계선 검출 (Edge Detection) (0) | 2024.11.15 |
---|---|
[OpenCV] Basic 8 - 이미지 블러 처리 (Blur) (0) | 2024.11.14 |
[ OpenCV ] Basic 6 - 이미지 크기조정 (Resize) (0) | 2022.03.02 |
[ OpenCV ] Basic 5 - 이미지 상하, 좌우 대칭 (Flip) (0) | 2022.03.02 |
[ OpenCV ] Basic 4 - 이미지 회전 (Rotate) (0) | 2022.03.02 |
댓글
이 글 공유하기
다른 글
-
[OpenCV] Basic 9 - 이미지 경계선 검출 (Edge Detection)
[OpenCV] Basic 9 - 이미지 경계선 검출 (Edge Detection)
2024.11.15 -
[OpenCV] Basic 8 - 이미지 블러 처리 (Blur)
[OpenCV] Basic 8 - 이미지 블러 처리 (Blur)
2024.11.14 -
[ OpenCV ] Basic 6 - 이미지 크기조정 (Resize)
[ OpenCV ] Basic 6 - 이미지 크기조정 (Resize)
2022.03.02 -
[ OpenCV ] Basic 5 - 이미지 상하, 좌우 대칭 (Flip)
[ OpenCV ] Basic 5 - 이미지 상하, 좌우 대칭 (Flip)
2022.03.02
댓글을 사용할 수 없습니다.