Python程序设计 简单的图像处理(1)
Python程序设计 简单的图像处理(1)
1.写个滤镜
照片照的好,不如滤镜用得好!一款好的滤镜软件可以让照片呈现不一样的风格乃至风情,修理照片需要扬长避短达到最佳效果。可是滤镜款式千百种,却没有一款专门为你设计??不如自己来写个滤镜吧! 1.先上一张图: 借助Python的两个第三方库:1.numpy 2.PIL 【实例1】:图像的颜色交换 交换图像中的颜色。可以通过分离RGB图片的3个颜色通道实现颜色交换。代码如下:
from PIL import Image im=Image.open(C:\Users\Administrator\Desktop\birdnest.jpg) r,g,b=im.split() #获得RGB通道数据 om=Image.merge(“RGB”,(b,g,r))#将3个通道合成新的图像 om.show()
代码运行效果如下:
【实例2】图像轮廓的获取 让北京鸟巢变得更加抽象,更具想象空间。 代码如下:
from PIL import Image from PIL import ImageFilter im=Image.open(C:\Users\Administrator\Desktop\birdnest.jpg) om=im.filter(ImageFilter.CONTOUR) om.save(birdnestContour.jpg)
代码运行效果如下:
前面讲到图像轮廓提取,原图像在视觉上更加立体,获得的轮廓图像缺乏立体感,光线照射使立体物出现明暗变化,运用这个原理是空间素描的基本方法,通过Python程序增加深浅层次变化,从而使图像轮廓更富立体感、空间感和色泽感,接近人类手绘效果。 依旧是先上一张图: 手绘效果代码如下:
手绘图像的基本思想是利用像素之间的梯度值重构每个像素值,这种空间坐标变化相当于给物体加上一个虚拟光源,根据灰度值大小模拟各部分相对于人视角的远近程度,使画面显得有“深度”。 通过改变梯度值赋权值depth,depth较小时,背景区域接近白色,画面显示轮廓描绘,depth较大时,整体画面灰度值较深,近似于浮雕效果。