공부/코딩깔짝
cv2 이용하여 이미지 편집하여 저장하기
뼈있는치킨
2023. 11. 12. 09:05
728x90
반응형
같은 크기의 이미지 파일들이 여러 개 있는데, 얘네들을 적당히 crop할 필요가 생겼다.
(이미지 바깥에 쓸모없는 부분을 잘라내주고 싶다.)
crop은 이미지에서 일부 픽셀들만 가져오는 것.
파이썬 cv2에서는 특별히 함수를 쓰지 않고 슬라이싱을 통해 가능하다.
opencv crop 링크
https://learnopencv.com/cropping-an-image-using-opencv/
코랩 환경에서 cv2를 사용하여 처리할거고, 다음과 같은 순서로 처리.
1. 편집할 이미지들 구글 드라이브에 업로드.
2. 파이썬에서 파일 리스트 가져와서 이미지인지 체크
3. 각 이미지 crop하여 수정 후, 다른 폴더에 저장.
import cv2
from google.colab.patches import cv2_imshow
import os
# 구글 드라이브 마운트하고, 원하는 패스로 이동
# os.chdir('/drive/MyDrive/Colab Notebooks')
# 이미지 하나 그려보기
# img = cv2.imread('test.png')
# cv2_imshow(img)
# 현재 path에 있는 파일들 출력
path = "./"
file_list = os.listdir(path)
print ("file_list: {}".format(file_list))
# 현재 path에 있는 이미지들(png 파일들) 다 crop하여 편집하여 저장하기
num = 0
for img_path in file_list:
if ".png" in img_path:
# 이미지 읽기
img = cv2.imread( img_path )
# 슬라이싱을 이용하여 crop !!!
crop_img = img[70:, 20:-20, :]
# 이미지 파일 쓰기
cv2.imwrite('crop_images/'+img_path, crop_img)
num = num+1
# 편집한 이미지 개수 출력하고 끝
print(num)
이미지 95장, 크기 1537 X 1222, 약 270MB
각 이미지 crop하여 1497 X 1152로 수정
2분 5초 소요하고 편집 완료
728x90
반응형