python-Image处理图片

news/2024/11/16 13:43:52/

使用python来处理图片是非常方便的,下面提供一小段python处理图片的代码,需要安装图像处理工具包PIL(Python Image Library)。

#coding=utf-8import Image
import urllib2
import StringIO
import os#改变图片大小
def resize_img(img_path):try:img = Image.open(img_path)(width,height) = img.sizenew_width = 200new_height = height * new_width / widthout = img.resize((new_width,new_height),Image.ANTIALIAS)ext = os.path.splitext(img_path)[1]new_file_name = '%s%s' %('small',ext)out.save(new_file_name,quality=95)except Exception,e:print e#改变图片类型
def change_img_type(img_path):try:img = Image.open(img_path)img.save('new_type.png')except Exception,e:print e#处理远程图片
def handle_remote_img(img_url):try:request = urllib2.Request(img_url)img_data = urllib2.urlopen(request).read()img_buffer = StringIO.StringIO(img_data)img = Image.open(img_buffer)img.save('remote.jpg')(width,height) = img.sizeout = img.resize((200,height * 200 / width),Image.ANTIALIAS)out.save('remote_small.jpg')except Exception,e:print eif __name__ == '__main__':img_path = 'test.jpg'resize_img(img_path)change_img_type(img_path)img_url = 'http://img.hb.aicdn.com/042f8a4a70239f724ff7b9fa0fc8edf18658f41022ada-WcItWE_fw554'handle_remote_img(img_url)

可能会遇到的问题

ImportError: No module named Image

解决办法:安装Python Imaging Library(PIL)

sudo easy_install PIL

安装PIL出现:
— JPEG support not available

— ZLIB (PNG/ZIP) support not available

— FREETYPE2 support not available

操作jpeg图片和png图片出现:

IOError: decoder jpeg not available 和 IOError: encoder zip not available

解决办法:
(1) 删除已经安装的PIL

sudo rm -rf /usr/local/lib/python2.6/site-packages/PIL-1.1.7-py2.6-linux-x86_64.egg/

(2) 安装相关库

sudo apt-get install libjpeg8 libjpeg62-dev libfreetype6 libfreetype6-dev
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib/
sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/

(3) 重新安装PIL

sudo easy_install PIL

终端出现:

— JPEG support available
— ZLIB (PNG/ZIP) support available
— FREETYPE2 support available

现在试试,已经ok了



转载请注明来自:Alex Zhou,本文链接:http://codingnow.cn/python/208.html


http://www.ppmy.cn/news/572602.html

相关文章

ImageData

/// The alignment of the terrain 地形的对齐模式enum Alignment//地形的对齐模式{/// Terrain is in the X/Z planeALIGN_X_Z 0, //地形的对其方式/// Terrain is in the X/Y planeALIGN_X_Y 1, /// Terrain is in the Y/Z planeALIGN_Y_Z 2};/** Structure encapsulating…

Image 图片

Image 图片 随机矩阵画图 这一节我们讲解怎样在matplotlib中打印出图像。这里打印出的是纯粹的数字,而非自然图像。下面用 3x3 的 2D-array 来表示点的颜色,每一个点就是一个pixel。 import matplotlib.pyplot as plt import numpy as npa np.array([0.…

image 读取 imagelist 里面图片

var i:integer1; procedure TForm4.BitBtn1Click(Sender: TObject); beginInc(i); if i>ImageList1.Count-1 then i:0;ImageList1.GetBitmap(i,image1.Picture.Bitmap) ; Self.Refresh; end;转载于:https://www.cnblogs.com/xh0626/p/5078289.html

imagematte

肖总博客:http://39.108.216.13:8090/display/~xiaozhenzhong/Image-MattingandBackgroundBlur 图像抠图的closed form算法讲解:http://blog.csdn.net/edesignerj/article/details/53349663 (本文用到的是input image和scribble image 其中 scribble im…

Python用PIL获取图片信息

我们利用处理PNG图片是,可能需要获取基本的图片信息来做一些基本的处理,话不多说,上代码。 from PIL import Imageimg Image.open("more.png") # img.show()print(img.size)#获取图片大小(width, height&a…

GPUImage

(翻译自 NSHispter,原文链接:http://nshipster.com/gpuimage/) 在 NSHipster,我们一直在研究 Objective-C 不为人知的一面来了解我们每天面对的系统。一般来说,这意味着仔细研究 Apple 的框架和语言特性&a…

Image list

Image Lists Image List 是同样大小的图片集合,每个图片通过索引引用。Image Lists 被用来高效管理大量图标和位图。在Image List中的所有图片被包含 单个,宽位图以screen device 格式。一个Image list同样可以包含单色位图,这些位图中包含掩…

图像的基本属性有哪些?

文章目录 前言1.像素(Pixel Dimensions)2.解析度(Resolution)3.大小(File size)4.颜色(Color)5.深度(Depth)6.色调(Tone)7.饱和度(Saturation)8.色相(Hue)9.亮度(Brightness)10.对比度(Contrast)11.色彩通道(Channel)12.层次(structure) 前言 图像的基本属性有:像素…