IT_World
[PYTHON] 파이썬 이미지 Crop -1- 본문
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번은 특정 폴더 내 이미지를 크롭 할 때 쓰는 코드이다.
'Artificial intelligence, AI > TensorFlow' 카테고리의 다른 글
[PYTHON] 감마를 이용하여 grayscale 이미지 밝기 조정 (0) | 2021.04.26 |
---|---|
[PYTHON] 컬러사진 흑백으로 만들기 -1- (0) | 2021.04.14 |
[PYTHON] 파이썬 이미지 resize (0) | 2021.04.09 |
[PYTHON] 파이썬 이미지 Rotate (0) | 2021.04.08 |
[PYTHON] 파이썬 이미지 Crop - 2- (0) | 2021.04.06 |
Comments