반응형

로드한 이미지를 Center Crop하는 OpenCV Python 예제입니다. 



2022. 3. 6  최초작성



오른쪽 원본 이미지의 중심을 기준으로 300 x 300 이미지를 Center Crop한 이미지가 왼쪽 이미지입니다. 

 



원본 이미지에 Center Crop한 이미지를 맞추어 보면 어느 부분인지 알 수 있습니다. 

 



import cv2


def center_crop(img, set_size):

    h, w, c = img.shape

    if set_size > min(h, w):
        return img

    crop_width = set_size
    crop_height = set_size

    mid_x, mid_y = w//2, h//2
    offset_x, offset_y = crop_width//2, crop_height//2
       
    crop_img = img[mid_y - offset_y:mid_y + offset_y, mid_x - offset_x:mid_x + offset_x]
    return crop_img


img = cv2.imread('Space Tree.jpg')

print(img.shape)

img = center_crop(img, 300)
cv2.imshow('show', img)


cv2.waitKey(0

 

문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.


제가 쓴 책도 한번 검토해보세요 ^^

+ Recent posts