Python PIL로 이미지 처리

8537 단어 pythonproductivity
Photoshop 또는 Illustrator와 같은 디자인 도구를 사용하여 이미지를 변환, 크기 조정, 필터 적용하는 데 어려움을 느낀 적이 있습니까? Python을 사용하면 좋아하는 코드 편집기나 IDE로 작성된 기본 스크립트만으로 이를 달성할 수 있습니다.

Python은 가장 인기 있는 프로그래밍 언어 중 하나이며 첫 번째 언어를 실험하려는 초보자에게 선호됩니다. 파이썬은 이미지 처리를 위한 많은 라이브러리를 제공하지만 우리는 파이썬 이미징 라이브러리(PIL)에 집중할 것입니다. PIL은 크기 조정, 회전, 축소판 만들기, 다른 파일 형식 간 변환 등과 같은 이미지에 대한 기본 작업을 수행하는 데 도움이 됩니다.

이 튜토리얼에서 우리는 당신이 파이썬과 그 구문에 대한 기본적인 이해가 있다고 가정할 것입니다. PIL 설치를 시작하기 전에 시스템에 최신 Python이 설치되어 있는지 확인하십시오python3.

설치



이미지 처리 작업의 첫 번째 단계는 필수 라이브러리인 Pillow를 설치하는 것입니다. pip를 사용하여 터미널 또는 명령줄에서 필요한 라이브러리를 설치합니다.

$pip3 install pillow


그게 다야 이제 시작할 수 있습니다.

열기, 회전 및 표시 및 이미지



다음 스크립트는 이미지를 로드하고 90도 회전한 다음 기본 시스템 이미지 뷰어에 이미지를 표시합니다.

from PIL import Image
img = Image.open("bulbasaur.jpg")
img.rotate(90).show()


축소판 만들기



썸네일 메서드인 thumbnail()은 특히 비율에 따라 축소/확대하려는 경우 이미지의 종횡비를 유지하는 데 도움이 됩니다. 방법 사이에 원하는 치수를 입력합니다.

주의해야 할 점은 썸네일 메서드가 새 이미지를 반환하지 않고 현재 이미지를 수정한다는 것입니다.

from PIL import Image
img = Image.open("bulbasaur.jpg")
img.thumbnail((400, 250))
img.show()


이미지에 필터를 적용합니다.



여기서 우리는 선호도에 따라 이미지를 선명하게 하고, 흐리게 하고, 부드럽게 합니다. 이 프로세스를 통해 PIL 이미지를 나타내는 데 사용되는 기존 Image 모듈에 다른 모듈인 ImageFilter를 가져와야 합니다.

처리된 이미지의 변경 사항을 보려면 BLUR 속성을 SHARPEN 및 SMOOTH로 바꾸십시오.

from PIL import Image, ImageFilter
img = Image.open("bulbasaur.jpg")
filtered_img = img.filter(ImageFilter.BLUR) 
filtered_img.show()


변환 및 저장



이미지의 형식을 한 형식에서 다른 형식으로 변경할 수 있습니다.

새 폴더를 만들거나 save() 메서드를 적용하려는 동일한 폴더에 이미지를 저장할 수 있습니다.

from PIL import Image
img = Image.open("bulbasaur.jpg")
img.save("/images/processed/new_bulbasaur.png", "png")


이미지를 회색조로 변환



우리는 변환() 메소드를 사용하여 원래의 컬러 이미지에서 회색으로 이미지에 변경 사항을 적용할 것입니다.

from PIL import Image
img = Image.open("bulbasaur.jpg")
filtered_img = img.convert("L")
filtered_img.show()


"L"은 '빛나는'을 의미합니다.

이미지 크기 조정



이 메서드인 resize()를 사용하면 다음 스크립트를 사용하여 이미지의 크기를 조정할 수 있습니다.

from PIL import Image
img = Image.open("bulbasaur.jpg")
resize = img.resize((300, 300))
resize.show()


이미지 자르기



자르기() 메서드는 자른 이미지에서 직사각형 영역을 반환합니다. 상자는 숫자로 표시되는 좌표(왼쪽, 위쪽, 오른쪽, 아래쪽)로 4개의 입력을 받는 자르기 사각형의 튜플입니다.

from PIL import Image
img = Image.open("bulbasaur.jpg")
box = (100, 100, 250, 250)
region = img.crop(box)
region.show()


이미지 읽기



모드, 크기 및 형식과 같은 다양한 속성을 통해 이미지를 읽을 수 있습니다. Python Print() 함수를 사용할 수 있습니다.
size 속성을 filtermode 속성으로 바꿉니다.

from PIL import Image
img = Image.open("bulbasaur.jpg")
print(img.size)


결론



그것은 내 끝에서입니다! Pillow 문서를 읽으면 더 흥미로운 일을 할 수 있으며 이 Python 라이브러리를 사용하여 달성할 수 있는 무한한 가능성의 표면을 거의 긁지 않았음을 기억하십시오.

이것이 어떤 식으로든 도움이 되었다면 아래에 피드백이나 댓글을 남겨주세요.

추가 읽기



Image effects with PIL(Python Image Library)

Essential Pil (Pillow) Image Tutorial (for Machine Learning People)

좋은 웹페이지 즐겨찾기