파이썬 라이브러리
python3 -m pip install Pillow
from PIL import Image
from matplotlib.pyplot import imshow
img = Image.open("Lena.png")
imshow(img)
print(img.size, img.mode) ##(512, 512) RGB
imshow(img.crop((200, 200, 400, 400)))
## 좌측 상단의 좌표가 (200, 200), 우측 하단의 좌표가 (400, 400)으로 crop됨
imshow(img.rotate(60))
## img와 같은 크기 사진이 반시계 방향으로 60도 돌아가게 됨.
imshow(img.rotate(60, expand = True))
## 사진이 잘리지 않고, 반시계로 60도 돌아간 후 사진에 맞춰 틀이 커짐
imshow(img.resize((128, 128))
## 이미지 크기 조절
imshow(img.transform((int(img.size[0] * 1.5), img.size[1]), Image.AFFINE, (1, -0.5, 0, 0, 1, 0)))
imshow(img.transform((int(img.size[0] * 1.2), img.size[1]), Image.AFFINE, (1, -0.2, 0, 0, 1, 0)))
## 위아래 코드의 다른 점은 size에 곱해진 값과, data파라미터의 -0.5 vs -0.2이다.
## 이 data 파라미터의 -0.5, -0.2의 값들이 전단변환의 정도, 즉 기울기를 의미한다.
from PIL import ImageEnhance
bright_enhancer = ImageEnhance.Brightness(img)
## 이는 img객체의 밝기 조절을 수행하는 객체이다.
## 이 객체의 메소드인 enhance의 파라미터로 밝기 조절을 얼마나 할지에 대한 배수를 넣어주면 됨.
## 즉,
imshow(bright_enhancer.enhance(2)) ## 두 배로 밝게
imshow(bright_enhancer.enhance(0.5)) ## 두 배로 어둡게
# 위와 비슷하게,
contrast_enhancer = ImageEnhance.Contrast(img)
imshow(contrast_enhancer.enhance(2)) ## 대조 두 배 강하게
imshow(contrast_enhancer.enhance(0.5)) ## 대조 두 배 약하게
img_gray = img.convert("L") ## L이 흑백 의미
from PIL import ImageFilter
img.filter(ImageFilter.SHARPEN) ##샤프닝인데, 별 차이 없다면 여러 번 사용해주기.
img.filter(ImageFilter.BLUR)
img.filter(ImageFilter.FIND_EDGES) ## 이미지 내에서 색 변화가 급격한 선(edge) 찾기.
'AI > 기계학습' 카테고리의 다른 글
text 파일(.txt) dataframe으로 읽어오기 in Python (0) | 2024.07.08 |
---|---|
GPU 환경설정(window 11) 한방에 하기 (0) | 2024.07.05 |
이미지 데이터 - CNN/RNN (0) | 2024.05.31 |
Tensorflow 선형회귀/비선형회귀 (0) | 2024.05.27 |
딥러닝 학습의 문제점 (0) | 2024.05.22 |