>  기사  >  백엔드 개발  >  Python을 사용하여 이미지를 열고 표시하고 저장하는 방법

Python을 사용하여 이미지를 열고 표시하고 저장하는 방법

不言
不言원래의
2018-05-04 14:08:576177검색

이 글은 주로 Python을 사용하여 이미지를 열고 표시하고 저장하는 방법을 소개합니다. 이제 특정 참조 가치가 있으므로 도움이 필요한 친구들이 참고할 수 있습니다.

디지털 이미지 처리에 관해서는 아마도 대부분 사람들은 matlab을 생각하겠지만 matlab에도 단점이 있습니다.

1. 오픈 소스가 아니고 비용이 많이 듭니다.

2. 일반적으로 3G 이상이며, 상위 버전은 5G 이상에도 도달할 수 있습니다.

3. 연구용으로만 사용할 수 있으며 소프트웨어로 변환하기가 쉽지 않습니다.

그래서 여기서는 디지털 이미지 처리를 위해 스크립트 언어 Python을 사용합니다.

Python을 사용하려면 먼저 Python, 일반적으로 버전 2.7 이상을 설치해야 합니다. Windows 시스템이든 Linux 시스템이든 설치가 매우 간단합니다.

파이썬을 다양한 개발에 사용하려면 해당 라이브러리를 설치해야 합니다. 이는 MATLAB에서는 툴박스라고 하고 Python에서는 라이브러리 또는 패키지라고 부르는 점을 제외하면 MATLAB과 매우 유사합니다. 이러한 라이브러리를 설치하려면 일반적으로 pip를 사용하여 설치합니다.

디지털 이미지 처리에 Python을 사용하려면 Pillow 패키지도 설치해야 합니다. Python에는 PIL(파이썬 이미지 라이브러리)이 포함되어 있지만 이 라이브러리는 업데이트가 중단되었으므로 PIL을 기반으로 개발된 Pillow를 사용합니다.

pip install Pillow

1. 사진 열기 및 표시하기

from PIL import Image
img=Image.open('d:/dog.png')
img.show()

Pillow를 사용하기는 하지만 PIL에서 분기되었으므로 여전히 PIL에서 가져와야 합니다. open()을 사용합니다. 함수는 이미지를 여는 데 사용되고, show() 함수는 이미지를 표시하는 데 사용됩니다.

이 이미지 표시 방법은 운영 체제와 함께 제공되는 이미지 브라우저를 호출하여 이미지를 여는 것입니다. 때로는 이 방법이 편리하지 않으므로 프로그램이 이미지를 그리도록 하는 다른 방법을 사용할 수도 있습니다.

from PIL import Image
import matplotlib.pyplot as plt
img=Image.open('d:/dog.png')
plt.figure("dog")
plt.imshow(img)
plt.show()

이 방법은 다소 복잡하지만 matplotlib 라이브러리를 사용하여 표시할 그림을 그리는 방법을 사용하는 것이 좋습니다. matplotlib는 matlab의 플롯과 동일한 전문 드로잉 라이브러리입니다. 여러 그림을 설정하고 그림 제목을 설정할 수 있으며 서브플롯을 사용하여 하나의 그림에 여러 그림을 표시할 수도 있습니다. matplotlib는 직접 설치할 수 있습니다

pip install matplotlib

그림은 기본적으로 축과 함께 제공됩니다. 필요하지 않으면 끌 수 있습니다.

plt.axis('off')

이미지를 연 후 몇 가지 속성을 사용하여 볼 수 있습니다.

print img.size #图片的尺寸
print img.mode #图片的模式
print img.format #图片的格式

와 같은 이미지 정보 표시되는 결과는 다음과 같습니다.

(558, 450)
RGBA
PNG

2. 사진을 저장합니다

img.save('d:/dog.jpg')

한개만 코드 줄은 매우 간단합니다. 이 코드 줄은 이미지를 저장할 뿐만 아니라 형식을 변환할 수도 있습니다. 이 예에서는 원본 png 이미지를 jpg 이미지로 저장합니다.

관련 권장 사항:

Python을 사용하여 이미지를 처리하여 이미지의 픽셀 액세스를 달성

위 내용은 Python을 사용하여 이미지를 열고 표시하고 저장하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.