728x90
기하학적 변환
Pillow 를 통해 크기 변환, 회전, 뒤집기와 같은 여러 가지 유형의 이미지 변환이 가능하다.
크기 변환 - 새로운 크기를 인수로 담는 resize() 함수를 이용한다.
resize_img = img.resize((500,300))
imshow(np.array(resize_img))
Out[12]:
회전 - 이미지의 회전 처리된 복사본을 반환한다. 센터를 기준으로 시계반대 방향(counter clockwise)으로 회전시킨 이미지를 반환한다.
rotate_img = img.rotate(90)
imshow(np.array(rotate_img))
Out[13]:
이미지 향상
이미지의 대비, 밝기, 색상 밸런스, 선명도 변경 등의 작업을 포함한다.
이미지 밝기 변환 - enhance() 함수는 실수형 인수를 입력받아 이미지 밝기의 정도를 결정한다. 이 값이 1이면 원래 이미지를 출력한다.
from PIL import ImageEnhance
enhancer_brightness = ImageEnhance.Brightness(img).enhance(2)
imshow(np.array(enhancer_brightness))
Out[14]:
이미지 대비 변환 - 마찬가지로 실수형 인수를 입력받으며, 1보다 작으면 대비가 감소하고, 1보다 크면 대비가 증가한다.
enhancer_contrast = ImageEnhance.Contrast(img).enhance(2)
imshow(np.array(enhancer_contrast))
Out[15]:
픽셀 접근 - 임계치 조정 등을 위해서 개별 픽셀에 접근하는 경우가 있다.
getpixel() 함수는 (x, y) 좌표에 있는 픽셀 값을 반환한다. 튜플을 인수로 취해서 색상값의 튜플을 반환한다.
img.getpixel((300,300))
Out[16]:
putpixel() 함수는 (x, y) 좌표상의 색상값을 새로운 색상으로 변경한다. 이미지에 둘 이상의 대역이 있다면 튜플이 함수의 인수로 전달된다.
img.putpixel((300,300), (20, 230, 145))
img.getpixel((300,300))
Out[17]:
728x90
'프로그래밍 Programming' 카테고리의 다른 글
딥러닝 툴 설치하기 Anaconda, Jupyter Notebook, TensorFlow and Keras for Deep Learning (0) | 2018.12.15 |
---|---|
Computer Vision (4) scikit-image 이미지 처리 기본 (0) | 2018.12.09 |
Computer Vision (2) 색상공간(그레이스케일, RGB, HSV) (0) | 2018.12.08 |
Computer Vision (1) 이미지 읽기, 자르기, 저장 (0) | 2018.12.08 |
데비안 9 파이어폭스 설치하기 How to install latest Firefox Browser on Debian 9 Stretch Linux (0) | 2018.11.25 |