[python] 12. 파이썬 이미지 정보 확인 및 조절하기
01. 패키지
! pip install opencv-python# 이미지 관련 패키지 opencv 설치
from PIL import Image
# 다양한 이미지 파일 형식 지원 및 이미지 처리와 그래픽 기능을 제공
import glob
# 대용량 이미지 사용에 용이하다 (폴더 안 파일을 모두 가져올때 사용)
from matplotlib import pyplot as plt
# 이미지 및 그래프 보여줄 때 사용
02. 이미지 정보 확인
image = Image.open('data.jpg')
# 이미지 확인
image.size
# 이미지 사이즈 확인
image.width
# 이미지 가로 사이즈 확인
image.height
# 이미지 세로 사이즈 확인
img_file = glob.glob("img/*.jpg")
print(len(img_file))
Image.open(img_file[3])
# 이미지 파일 변수 안에 이미지 폴더 안에 모든 이미지를 불러옴
# 이미지 총 갯수를 보여주고, 그 중에 세번째 파일을 보여줌
03. 이미지 수정
image.resize((600, 480), Image.ANTIALIAS)
# 이미지 사이즈 강제로 조절
# 강제로 조절시 이미지 깨짐 방지 Image.ANTIALIAS
rario = 0.7
width, height = round(image.width * rario), round(image.height * rario)
image.resize((width, height), Image.ANTIALIAS)
# 비중을 70%로 줄이고, 그 값을 round 반올림해서 깨지지 않게보여줌
# 이미지 비율 그대로 확대 및 축소 가능
image.crop((0, 0 ,1000, 600))
# 특정 위치만 보여줌. 왼쪽 위 꼭지점과 오른쪽 아래 꼭지점 좌표를 의미
04. 폴더 이미지 전체 확인
img_file = glob.glob("img/*.jpg")
# 이미지 폴더 안에 있는 이미지를 모두 가져온다
image_list=[]
# 이미지 리스트를 만들고,
for img in img_file:
image = Image.open(img) # 이미지를 열고,
image_list.append(image) # 연 이미지들을 이미지 리스트에 넣어줌
figuer, axex = plt.subplots (nrows=2, ncols=4)
# 세로 2줄, 가로 4줄로 총 8개를 보여준다.
figuer.set_size_inches(18,6) # 18대 6 비율로
for width in range(2): # 2개 반복
for height in range(4): # 4개 반복
index = width * 4 + height
image = image_list[index] # 이미지를 1개씩 가져올 수 있다.
ax = axex [width][height] # 위치값을 가져옴 0.0, 0.1 ...
ax.imshow(image) # 이미지를 동시에 보여준다.

05. 폴더 이미지 전체 사이즈변경
img_file = glob.glob("img/*.jpg")
# 이미지 폴더 안에 있는 이미지를 모두 가져온다
image_list=[]
# 이미지 리스트를 만들고
image_list_resized = []
# 리사이즈 된 이미지 리스트를 만들고
for img in img_file:
image = Image.open(img) # 이미지를 열고,
image_list.append(image) # 연 이미지들을 이미지 리스트에 넣어줌
for image in image_list:
image_resized = image.resize((300,400))
# 300,400으로 사이즈 변경
image_list_resized.append(image_resized)
# 변경된 이미지들을 리스트에 담음
image_list_resized
댓글
댓글 쓰기