반응형
이미지 관련 데이터처리
from PIL import Image
In [3]:
img = Image.open("골드본.png")
In [4]:
from matplotlib.pyplot import imshow
# 이미지 출력
imshow(img)
Out[4]:
<matplotlib.image.AxesImage at 0x1d68905cdc0>

In [5]:
# 출력사이즈 확인
print("Size: {}, Mode: {}".format(img.size, img.mode))
Size: (433, 608), Mode: RGB
In [7]:
# crop(x1,y1, x2, y2)를 이용하여 확대
imshow(img.crop((100, 100, 300, 300)))
Out[7]:
<matplotlib.image.AxesImage at 0x1d68b2af0d0>

In [8]:
# 이미지 기울이기
imshow(img.rotate(60, expand=True))
Out[8]:
<matplotlib.image.AxesImage at 0x1d68b518220>

In [9]:
# 이미지 회전
imshow(img.rotate(270))
Out[9]:
<matplotlib.image.AxesImage at 0x1d68b446f10>

In [10]:
# 새롭게 이미지 사이즈를 설정한다.
img_resized = img.resize((128, 128))
print("새로운 이미지 사이즈:", img_resized.size)
imshow(img_resized)
새로운 이미지 사이즈: (128, 128)
Out[10]:
<matplotlib.image.AxesImage at 0x1d68b369550>

In [11]:
from PIL import ImageEnhance
In [13]:
# 이미지 밝게 하기
bright_enhancer = ImageEnhance.Brightness(img)
In [14]:
# 밝게
imshow(bright_enhancer.enhance(2))
Out[14]:
<matplotlib.image.AxesImage at 0x1d68b3ec250>

In [15]:
# 어둡게
imshow(bright_enhancer.enhance(0.5))
Out[15]:
<matplotlib.image.AxesImage at 0x1d68b49e370>

In [36]:
contrast_enhancer = ImageEnhance.Contrast(img)
imshow(contrast_enhancer.enhance(1))
Out[36]:
<matplotlib.image.AxesImage at 0x27b6eb3b850>

In [23]:
# 이미지를 흐릿하게
imshow(contrast_enhancer.enhance(0.5))
Out[23]:
<matplotlib.image.AxesImage at 0x27b6d3eb8e0>

In [17]:
# 흑백 사진 모드
import matplotlib.pyplot as plt
골드본사진 = img.convert("L")
print("흑백 사진 모드:", 골드본사진.mode)
imshow(골드본사진, cmap=plt.get_cmap("gray"))
흑백 사진 모드: L
Out[17]:
<matplotlib.image.AxesImage at 0x1d68b75fcd0>

In [19]:
from PIL import ImageFilter
imshow(img.filter(ImageFilter.SHARPEN))
Out[19]:
<matplotlib.image.AxesImage at 0x1d68c904700>

In [20]:
# 이미지를 선명하게 해준다.
# 할 수록 색감이 강해진다.
img_sharpen = img.filter(ImageFilter.SHARPEN)
img_sharpen = img_sharpen.filter(ImageFilter.SHARPEN)
img_sharpen = img_sharpen.filter(ImageFilter.SHARPEN)
img_sharpen = img_sharpen.filter(ImageFilter.SHARPEN)
img_sharpen = img_sharpen.filter(ImageFilter.SHARPEN)
imshow(img_sharpen)
Out[20]:
<matplotlib.image.AxesImage at 0x1d68c9577c0>

In [21]:
# 이미지를 흐릿하게 해준다.
img_blur = img.filter(ImageFilter.BLUR)
img_blur = img_blur.filter(ImageFilter.BLUR)
img_blur = img_blur.filter(ImageFilter.BLUR)
imshow(img_blur)
Out[21]:
<matplotlib.image.AxesImage at 0x1d68caca310>

In [22]:
# 이미지를 블러처리 한다.
imshow(img.filter(ImageFilter.FIND_EDGES))
Out[22]:
<matplotlib.image.AxesImage at 0x1d68cb35040>

'파이썬 이것저것 > 파이썬 딥러닝 관련' 카테고리의 다른 글
[Python] 딥러닝 모델의 학습 방법 (0) | 2022.07.14 |
---|---|
[Python] 딥러닝 다층 퍼셉트론 (0) | 2022.07.14 |
[Python] 딥러닝 퍼셉트론 선형분류기 (1) | 2022.07.13 |
[python] 딥러닝 퍼셉트론 (0) | 2022.07.13 |
[Python Tensorflow 프로젝트] CNN을 활용하여 마스크 구분하기 프로젝트 (0) | 2022.07.10 |