Python 프로 그래 밍 그래 픽 라 이브 러 리 의 Pillow 사용 방법 설명

PIL vs Pillow
PIL:Python Imaging Library 는 python 의 이미지 처리 라 이브 러 리 입 니 다.PIL 이 setuptools 와 호 환 되 지 않 는 데다 가 업데이트 가 느 린 등 요소 로 인해 Alex Clark 등 일부 지역 사회 에서 마음 좋 은 사람들 이 PIL 을 계속 지지 하 기 를 원 하기 때문에 fork 가 PIL 을 한 것 이 바로 Pillow 의 원인 이다.
Pillow 의 목표
PIL 의 발전 을 추진 하고 추진 하 는 것 은 Pillow 의 목표 이 고 주로 다음 과 같은 방식 으로 진행 된다.
  • Travis CI 와 AppVeyor 를 결합 하여 지속 적 인 통합 테스트 를 실시한다
  • github 을 활용 하여 개발 하 다.
    파 이 썬 패키지 인덱스 와 결합 하여 정례 적 으로 발표 합 니 다사실 알 수 있 듯 이 개선 은 CI 와 CD 에서 사용자 의 감 지 를 개선 하고 정기 적 으로/신속하게 사용자 와 의사 소통 과 교 류 를 하 는 것 이 pillow 가 호감 을 얻 는 중요 한 요소 이다.
    설치 하 다.
    설 치 는 pip 를 통 해 가능 합 니 다.pip install pillow 만 실행 하면 됩 니 다.
    
    liumiaocn:~ liumiao$ pip install pillow
    Collecting pillow
     Downloading https://files.pythonhosted.org/packages/df/aa/a25f211a4686f363d8ca5a1752c43a8f42459e70af13e20713d3e636f0af/Pillow-5.1.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (3.6MB)
      100% || 3.6MB 157kB/s 
    Installing collected packages: pillow
    Successfully installed pillow-5.1.0
    liumiaocn:~ liumiao$
    설치 확인
    
    liumiaocn:~ liumiao$ pip show pillow
    Name: Pillow
    Version: 5.1.0
    Summary: Python Imaging Library (Fork)
    Home-page: https://python-pillow.org
    Author: Alex Clark (Fork Author)
    Author-email: [email protected]
    License: Standard PIL License
    Location: /usr/local/lib/python2.7/site-packages
    Requires: 
    Required-by: 
    liumiaocn:~ liumiao$ 
    쓰다
    그래 픽 라 이브 러 리 는 실 용적 인 기능 이 많 으 며,여기에 몇 가 지 를 열거 하여 간단 한 시연 을 한다.
    ImageGrab.grab()
    이 방법 을 사용 하면 캡 처 를 실현 할 수 있 습 니 다.
    
    liumiaocn:tmp liumiao$ cat grab.python 
    #!/usr/local/bin/python
    from PIL import ImageGrab
    #get current screen copy
    image = ImageGrab.grab()
    #display image size
    print("Current screen shot size :",image.size)
    #display image mode
    print("Screen shot picture mode :", image.mode)
    #save picture to /tmp/screen-grab-1.bmp
    image.save('/tmp/screen-grab-1.bmp')
    #show picture
    image.show()
    liumiaocn:tmp liumiao$
    코드 에 image.show()를 사용 하여 표시 되 었 기 때문에 실행 후 디 스 플레이 를 직접 볼 수 있 고/tmp 에서 생 성 된 파일 도 확인 할 수 있 습 니 다.
    
    liumiaocn:tmp liumiao$ python grab.python 
    ('Current screen shot size :', (2880, 1800))
    ('Screen shot picture mode :', 'RGBA')
    liumiaocn:tmp liumiao$ ls -l /tmp/screen-grab-1.bmp
    -rw-r--r-- 1 liumiao wheel 20736054 Jun 23 05:41 /tmp/screen-grab-1.bmp
    liumiaocn:tmp liumiao$

    필터
    PIL 의 ImageFilter 는 방금 캡 처 한 그림 에 CONTOUR 필 터 를 사용 하 는 등 10 가지 에 가 까 운 필 터 를 지원 합 니 다.
    
    liumiaocn:tmp liumiao$ cat filter-contour.py 
    #!/usr/local/bin/python
    from PIL import ImageFilter, Image
    src_image = Image.open('/tmp/screen-grab-1.bmp')
    print("begin to filter the pic")
    dst_image = src_image.filter(ImageFilter.CONTOUR)
    print("picture through filter")
    dst_image.show()
    liumiaocn:tmp liumiao$
    실행 후 아래 그림 을 얻 을 수 있 습 니 다.

    빙빙 돌다
    rotate 를 사용 하면 그림 을 회전 시 킬 수 있 습 니 다:
    
    liumiaocn:tmp liumiao$ cat rotate.py 
    #!/usr/local/bin/python
    from PIL import Image
    src_image = Image.open('/tmp/screen-grab-1.bmp')
    print("begin to rotate the pic")
    dst_image = src_image.rotate(90)
    print("picture after rotating")
    dst_image.show()
    liumiaocn:tmp liumiao$
    실행 후 확인 가능

    Pillow 기능 이 매우 많 고 사용 도 편리 합 니 다.예 를 들 어 resize 는 사 이 즈 를 조절 하고 문자 등 흔히 볼 수 있 는 도형 처리 작업 도 추가 할 수 있 습 니 다.여기 서 일일이 소개 하지 않 겠 습 니 다.구체 적 인 수 요 는 다음 과 같은 링크 를 참조 하여 알 수 있 습 니 다https://pypi.org/project/Pillow/
    총결산
    이상 은 이 글 의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가 치 를 가지 기 를 바 랍 니 다.여러분 의 저희 에 대한 지지 에 감 사 드 립 니 다.더 많은 내용 을 알 고 싶다 면 아래 링크 를 보 세 요.

    좋은 웹페이지 즐겨찾기