IT_World

[PYTHON] 파이썬 이미지 Crop -1- 본문

Artificial intelligence, AI/TensorFlow

[PYTHON] 파이썬 이미지 Crop -1-

engine 2021. 4. 6. 15:28

1. 특정 이미지 한 장 잘라내기

 

사용할 이미지에서 표시된 부분만 crop(잘라내기) 후 새로운 파일로 저장을 하려고 한다.

여기에서 (가로 시작점(사진의 가장 좌측), 세로 시작점(사진의 위), 가로 끝점(사진의 가장 우측), 세로 끝점(사진의 가장 아래)) 사용할 위치 값이 존재한다.

from PIL import Image

load_path = "/image_direct/이미지 폴더 위치"
save_path = "저장할이미지 path"

image1 = Image.open(load_path+'/1(이미지 이름).jpg')
# image1.show() #불러오는 이미지가  맞는지 show를 통해 확인

# 이미지의 크기 출력
print(image1.size)

# crop을 통해 이미지 자르기       (left,up, rigth, down)
croppedImage = image1.crop((100,60, 300,   210))
# croppedImage.show()

print("잘려진 사진 크기 :", croppedImage.size)

croppedImage.save(save_path+'1.jpg')

2. 특정 폴더 이미지 잘라내기

import os
from PIL import Image
import glob

path = "이미지 불러올 폴더"

           #"/home/image_dir/"


files = glob.glob(path + '/*')

make_path = "/만들어줄 폴더" #원본 폴더에 덮어쓰기 방지로 만들어 준다.

                        #"/home/new_dir"

if not os.path.isdir(make_path):
os.mkdir(make_path)save_path = "/crop 이미지 저장 폴더/"

save_path = = "/만들어줄 폴더/"

                        #"/home/new_dir/"

##이미지 크롭 시작
# def img_crop(i):
for f in files:
for idx, file in enumerate(files):
fname, ext = os.path.splitext(file)
if ext in ['.jpg', '.png', '.gif']:#뒷 이미지 파일 명
im = Image.open(file)
width, height = im.size
# height, width, channel = im.shape
# matrix = cv2.getRotationMatrix2D((width / 2, height / 2), 90, 1)
# dst = cv2.warpAffine(im, matrix, (width, height))
crop_image = im.crop((57,70,300,300))
# crop_image = im.crop((100,50,240,170))
crop_image.save(save_path + str(idx) + '.jpg')

#                               저장폴더

1번은 특정 사진 이미지를 지정해서 잘라주는 코드

2번은 특정 폴더 내 이미지를 크롭 할 때 쓰는 코드이다.

Comments