본문 바로가기

IT

OpenCV로 이미지 자르기와 리사이징

OpenCV로 이미지 다루기 시작해볼까요?

이미지를 다루는 작업 중에 자르기(Cropping)랑 리사이징(Resizing)은 정말 자주 쓰이는 기본 기능이에요.

 

OpenCV로 이미지 자르기와 리사이징

 

 

사진에서 필요한 부분만 쏙 잘라내거나, 너무 큰 이미지를 작게 줄이는 작업이죠.

이걸 Python에서 간단하게 해주는 게 바로 OpenCV라는 라이브러리예요.

먼저 OpenCV를 설치하고 이미지를 불러오는 것부터 시작해볼게요.

 

import cv2

# 이미지 불러오기
image = cv2.imread('sample.jpg')
cv2.imshow('원본 이미지', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

 

이미지 자르기 – 필요한 부분만 쏙!

이미지 자르기는 정말 간단해요.

마치 사진에서 원하는 영역만 가위로 오려내듯이 특정 좌표 범위를 선택해서 자르면 돼요.

OpenCV는 NumPy 배열을 활용해서 이미지 데이터를 다루기 때문에, 슬라이싱 방식으로 쉽게 자를 수 있어요.

 

# 이미지 자르기 (y축, x축 순서)
cropped = image[100:300, 200:400]
cv2.imshow('잘라낸 이미지', cropped)
cv2.waitKey(0)
cv2.destroyAllWindows()

 

코드를 보면 [100:300, 200:400] 이런 식으로 적혀있죠?

이건 "위에서 100픽셀부터 300픽셀까지, 왼쪽에서 200픽셀부터 400픽셀까지"라는 뜻이에요.

원하는 부분만 딱 잘라낼 수 있어서 아주 유용하죠.

 

 

이미지 크기 조절 – 너무 크면 줄이고, 작으면 키우고

이미지를 원하는 크기로 바꾸는 것도 엄청 쉬워요.

cv2.resize() 함수만 쓰면 끝!

예를 들어 자른 이미지를 200x200 픽셀로 줄이고 싶다면 아래처럼 하면 돼요.

 

resized = cv2.resize(cropped, (200, 200))
cv2.imshow('크기 조절한 이미지', resized)
cv2.waitKey(0)
cv2.destroyAllWindows()

 

이 기능은 썸네일 만들 때나, 인공지능 모델에 넣을 이미지 사이즈를 맞출 때 꼭 필요해요.

혹시 이미지가 찌그러져 보인다면 비율을 유지하는 방법도 있으니까 나중에 따로 다뤄볼게요.

 

자르기 + 리사이징 조합하면 실전에서 딱!

실제로 많이 쓰는 방법은 필요한 부분만 잘라서, 크기를 조정하는 것이에요.

예를 들어 사람 얼굴만 잘라내서 128x128 사이즈로 맞춰주는 식이죠.

이건 얼굴 인식, 이미지 분류, OCR 같은 다양한 작업에 꼭 필요한 전처리 과정이에요.

 

# 자르고 리사이징 한 번에!
cropped_resized = cv2.resize(image[100:300, 200:400], (128, 128))
cv2.imshow('자르고 리사이징한 이미지', cropped_resized)
cv2.waitKey(0)
cv2.destroyAllWindows()

 

이렇게 하면 이미지에서 꼭 필요한 정보만 남기고, 딱 정해진 크기로 깔끔하게 정리할 수 있어요.

결과는 직접 눈으로 확인해보는 게 제일 좋으니까, 다양한 영역을 잘라보고 리사이징도 해보면서 감 잡아보세요!

 

 

이 블로그의 내용을 대화 형식인 음성으로 들으면서 정리하면, 보다 쉽게 이해할 수 있을 거예요.
다운받아 들어보세요~

OpenCV로 이미지 자르기와 리사이징_137.mp3
4.25MB