图片处理PIL.Image模块

版权声明:@抛物线 https://blog.csdn.net/qq_28513801/article/details/88980289

Image模块是PIL中最重要的模块,它有一个类叫做image,与模块名称相同。Image类有很多函数、方法及属性,接下来将依次对image类的属性、函数和方法进行介绍。

一、Image类的属性

1、 Format

定义:im.format ⇒ string or None

含义:源文件的文件格式。如果是由PIL创建的图像,则其文件格式为None。

例子:

from PIL import Image

im= Image.open(“D:\Code\Python\test\img\test.jpg”)

im.format

‘JPEG’

注:test.jpg是JPEG图像,所以其文件格式为JPEG。

im= Image.open(“D:\Code\Python\test\img\test.gif”)

im.format

‘GIF’

注:test.gif为GIF文件,所以其文件格式为GIF。

2、 Mode

定义:im.mode ⇒ string

含义:图像的模式。这个字符串表明图像所使用像素格式。该属性典型的取值为“1”,“L”,“RGB”或“CMYK”。对于图像模式的介绍,可以参考我的blog“Python图像处理库PIL的基本概念介绍”。

例子:

from PIL import Image

im = Image.open(“D:\Code\Python\test\img\test.jpg”)

im.mode

‘RGB’

im = Image.open(“D:\Code\Python\test\img\test.gif”)

im.mode

‘P’

3、 Size

定义:im.size ⇒ (width, height)

含义:图像的尺寸,按照像素数计算。它的返回值为宽度和高度的二元组(width, height)。

例子:

from PIL import Image

im= Image.open(“D:\Code\Python\test\img\test.jpg”)

im.size

(800, 450)

im= Image.open(“D:\Code\Python\test\img\test.gif”)

im.size

(400, 220)

4、 Palette

定义:im.palette ⇒ palette or None

含义:颜色调色板表格。如果图像的模式是“P”,则返回ImagePalette类的实例;否则,将为None。

例子:

from PIL import Image

im= Image.open(“D:\Code\Python\test\img\test.jpg”)

im.mode

‘RGB’

im.palette

im= Image.open(“D:\Code\Python\test\img\test.gif”)

im.mode

‘P’

im.palette

<PIL.ImagePalette.ImagePaletteobject at 0x035E7AD0>

pl= im.palette

Pl为ImagePalette类的实例。

5、 Info

定义:im.info ⇒ dictionary

含义:存储图像相关数据的字典。文件句柄使用该字典传递从文件中读取的各种非图像信息。大多数方法在返回新的图像时都会忽略这个字典;因为字典中的键并非标准化的,对于一个方法,它不能知道自己的操作如何影响这个字典。如果用户需要这些信息,需要在方法open()返回时保存这个字典。

例子:

from PIL import Image

im= Image.open(“D:\Code\Python\test\img\test.jpg”)

im.info

{‘jfif_version’:(1, 1), ‘jfif’: 257, ‘jfif_unit’: 1, ‘jfif_density’: (96, 96), ‘dpi’: (96, 96)}

im= Image.open(“D:\Code\Python\test\img\test.gif”)

im.info

 {'duration':100, 'version': 'GIF89a', 'extension': ('NETSCAPE2.0', 795L), 'background': 0,'loop': 0}

1.从pyCharm提示下载PIL包
http://www.pythonware.com/products/pil/

2.解压后,进入到目录下
cd /Users/jianan/Downloads/Imaging-1.1.7
3.python setup.py install
安装在/Library/Python/2.7/site-packages文件夹下

4.“X11/Xlib.h” mac os x SDK10.8 /10.9 的问题
原因:Mountain Lion 未随附 X11,但 XQuartz 项目提供适用于 OS X Mountain Lion 的 X11
服务器和客户端库:http://xquartz.macosforge.org。您应使用 XQuartz 2.7.2 版本或更高版本。

解决方法:http://xquartz.macosforge.org下载安装 XQuartz

 sudo ln -s /opt/X11/include/X11 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/

* .将图片变为原来的一半(用于自动化生成icon)

import PIL.Image
im = PIL.Image.open(’/Users/jianan/Desktop/11.png’)
w, h = im.size
im.thumbnail((w//2, h//2))
im.save(’/Users/jianan/Desktop/12.png’, ‘jpeg’)

* .让图片模糊

import PIL.Image, PIL.ImageFilter
im = PIL.Image.open(’/Users/jianan/Desktop/11.png’)
im2 = im.filter(PIL.ImageFilter.BLUR)
im2.save(’/Users/jianan/Desktop/blur.png’, ‘jpeg’)

猜你喜欢

转载自blog.csdn.net/qq_28513801/article/details/88980289