字符画很好玩,我们来看看怎样将一张图片变成字符画。 我们首先将图片变成黑白的,那么每个像素的取值范围为:0-255. 然后我们将0-255映射到0-14的范围上,然后用如下字符代替: color = ‘MNHQ$OC?7>!:-;.’ 也就是像素为0的点用“M”表示,像素为14的点用“.”表示。 原理非常的简单,我们用Python来编写的话也非常的简单。只要借助PIL,就可以很轻松地在Python中处理图像。 我们来看一段代码:
Python进行图像处理——生成交替颜色的格子图
今天小孟师兄要一张贴图做测试,屠文翔同学用Fireworks花了两分钟做了下面的一张图片。但是师兄说要一张颜色相隔的图片,于是Fireworks此时就显得有点力不从心了。于是此时Python就要上场啦。 Fireworks生成的图: 好,下面,我们来用Python的PIL库来敏捷地生成一个颜色相隔的格子图。只需要10行代码。
我们的图像处理 Imagination Factory
Imagination Factory是一款轻巧美观的图像浏览和图像处理软件。这是我们大一时的C++大作业。写下来记录一下以前做了些什么。 我们小组除了俺之外有陈可昕和康磊,两人都是天才少年。陈可昕同学巾帼不让须眉,交给她的几本数千页的WPF英文书籍她都很快就可以消化。康磊同学理科高人,复杂的数学问题他都可以轻松搞定然后去看动漫了,俺有幸可以与此神人同宿舍,只可惜神人已经转专业到了电信。 Imagination Factory的界面采用C#编写,使用了WPF作为界面库。图像处理核心使用C++编写。 项目已经开源,放到 http://code.google.com/p/imagination-factory/ ,有兴趣的同志们可以接着完善它吧。 Imagination Factory运行时的截图:
Python进行图像处理——PIL简介
PIL中包括Image,ImageEnhance,ImageGrab等。 Image Image模块仅用一个类来表示PIL中的图像,并提供了许多工厂函数,不同类型的图像可以使用统一的接口进行处理。 http://www.pythonware.com/library/pil/handbook/image.htm 主要函数(可以顾名思义,这里主要有个提纲,方便记忆)有: Image.new(mode, size) => image Image.new(mode, size, color) => image Image.open(infile) => image Image.open(infile, mode) => image Image.blend(image1, image2, alpha) => image
Python进行图像处理——开篇
Python是一个非常简洁优雅的语言,库非常的丰富。在图像处理方面,有个PIL(Python Imaging Library ),这个是一个应用上手非常简单的Python的图像处理库。 PIL的下载地址可以在 http://pypi.python.org/pypi/PIL 找到。 手册在 http://www.pythonware.com/library/pil/handbook/index.htm ,这里有非常详细的教程。 我们安装完PIL后,可以在Python交互解释器很中输入: import Image 如果没有发生错误,这说明安装完成了。我们输入以下代码,将会打开一幅图像。
