用python可以实现图像的处理吗,python ps图片

  用python可以实现图像的处理吗,python ps图片

  Python中如何处理PS之类的图像?

  Python中有丰富的第三方模块可用,PIL:Python图像库是Python平台上图像处理的标准库。PIL非常强大,但是API非常简单易用。

  

  安装PIL

  在Debian/Ubuntu Linux下,直接通过apt安装:

  $ sudo apt-getinstall python-imaging Mac等版本的Linux可以使用easy_install或者pip直接安装,安装前需要安装编译环境:

  $sudoeasy_installPIL如果安装失败,根据提示安装缺失的包(比如openjpeg)。

  Windows平台会去PIL官网下载exe安装包。

  操作图像

  看看最常见的图像缩放操作,只有三四行代码:

  进口图像

  #打开一个jpg图像文件,注意路径要改成自己的:

  im=image . open(/Users/Michael/test . jpg )

  #获取:的图像尺寸

  w,h=im.size

  #缩放至503360

  im.thumbnail((w//2,h//2))

  #以jpeg格式:保存缩放后的图像

  im . save(/users/Michael/thumbnail . jpg , jpeg )切片、旋转、滤镜、输出文本、调色板等其他功能。都是现成的。

  例如,模糊效果只需要几行代码:

  导入图像,图像过滤器

  im=image . open(/Users/Michael/test . jpg )

  im2=im.filter(ImageFilter。模糊)

  2.im save(/users/Michael/blur . jpg , JPEG )PIL的ImageDraw提供了一系列绘图方法,这样我们就可以直接画图了。例如,到生成字母验证码图片:

  导入图像,图像绘制,图像字体,图像过滤器

  随机输入

  #随机字母3360

  defrndChar():

  returnchr(random.randint(65,90))

  #颜色随机13360

  defrndColor():

  return(random.randint(64,255),random.randint(64,255),random.randint(64,255))

  #颜色随机23360

  defrndColor2():

  return(random.randint(32,127),random.randint(32,127),random.randint(32,127))

  #240x60:

  宽度=60*4

  高度=60

  image=Image.new(RGB ,(宽度,高度),(255,255,255))

  #创建字体对象:

  font=image font . truetype( arial . TTF ,36)

  #创建绘制对象:

  draw=ImageDraw。绘制(图像)

  #用:填充每个像素

  forxinrange(宽度):

  foryinrange(高度):

  draw.point((x,y),fill=rndColor())

  #输出文本3360

  第四组:

  draw.text((60*t 10,10),rndChar(),font=font,fill=rndColor2())

  #模糊3360

  image=image.filter(ImageFilter。模糊)

  image.save(code.jpg , JPEG );我们用随机的颜色填充背景,绘制文字,最后模糊图像得到验证码图片。

  如果在操作过程中报告了错误:

  IOError:cannotopenresource这是因为PIL找不到字体文件,可以根据操作系统提供一个绝对路径,比如3360。

  /Library/Fonts/Arial.ttf 要了解更多关于PIL的强大功能,请参考PIL官方文档:

  http://effbot.org/imagingbook/

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: