preface.txt
上传用户:s6549606
上传日期:2015-11-11
资源大小:12002k
文件大小:3k
- 前言 做一个自己的PhotoShop
- 当你看到那些用PhotoShop或Corel PhotoPaint等软件绘制出的精美图片,
- 并被它们的神奇效果所折服时,你是否曾想到做一个自己的PhotoShop?"
- 怎么可能,这是吹牛吧!",你一定会说。呵呵,别着急,待我慢慢讲来。
- 我一直对图象处理,多媒体的东西非常着迷,选修过很多这方面的课程。
- 在选修这些课程的时候,我做了许多很有意思的实验。我经常有这样一种
- 冲动:把我做过的这些东西拿出来与大家一起分享,把有关的原理,算法,
- 程序介绍给大家。
- 有这种想法的另一个原因是:图象处理(Image Processing)技术是一门
- 非常实用的技术,PhotoShop的核心就是图象处理技术。而目前有关这方面的
- 资料太少了,已有的书不是内容太陈旧(还停留在dos下的CGA,EGA甚至汇编
- 编程阶段),就是理论性太强,不容易懂。没有例子,看过以后也不知道该如
- 何编程。我想:如果能够通过实际的例子来介绍这些图象处理算法,大家就很
- 容易理解了。
- 我的想法是:将我所了解的原理算法以一种系列讲座的形式奉献给大家,
- 每期一个专题。后面都附有实际运行通过的原程序例子,全部程序都采用
- Windows编程(不过我并不打算介绍Windows的编程,这已经超出了本讲座的范围)。
- 下面是这个讲座的主要内容:
- 1.windows位图bitmap(即bmp文件)的结构和调色版的概念。
- 2.图象的平移,旋转,镜象变换,转置变换,放缩。
- 3.图象的平滑(去噪声),锐化。
- 4.图象的半影调,抖动技术。
- 5.图象的直方图修正,彩色变换。
- 6.图象的腐蚀和膨胀效果,细化算法,骨架的提取。
- 7.图象的边沿检测与抽取,hough变换,轮廓跟踪。
- 8.图象的检测,模板匹配。
- 9.图象的压缩编码,JPEG压缩编码标准。
- 10.图象处理编程工具lead.ocx,及DirectDraw的介绍,
- 简单的多媒体编程技术。
- 看过了这些内容,你就掌握了图象处理中的一些最常用的算法。当然,
- 这些内容还不足以编出象PhotoShop那样"牛"的软件来(人家毕竟是Adobe公司的
- 看家宝贝嘛!)。
- 但是要知道:万丈高楼平地起,很多非常复杂的功能可能是一些简单方法
- 的叠加。相信你自己吧,你一定能够成为图象处理大师的。
- 是不是还有些信心不足?好,让我变一个戏法给你瞧瞧:
- 图1. 普通文本
- 图2. 抽取骨架后的文本
- 上面有两幅图,图1是未经处理的普通文字,经过骨架抽取,变成了图2
- 的样子。很有意思吧,这可不是用PhotoShop作的,而是我自己遍的程序处理的。
- 怎么样?还不错吧。
- 有人会问:"在编这样的程序之前有什么要求吗?"只有两条:
- 1.对c语言比较熟悉。
- 2.曾经编过Windows的程序(如果这两点都做不到,那还称不上是计算机
- 高手呦!)
- 有三点要说明:
- 1.文中出现的所有例子都在我自己的机器上编译运行通过,我使用的编程语言
- 为Visual C++4.1,运行环境为中文Windows95。程序采用的是Windows API接口,
- 全部采用c语言编写,并未用到C++的东西,所以也可以在其他的c编译器,
- 如Borland C,Watcom C下编译通过(可能有些函数的名称有些差别,所以建议使用
- Visual C++。4.0,4.1,4.2,5.0版本都可以)。尽管在Windows3.x平台上也能编译
- 运行这些程序,但强烈建议使用Windows95,它32位的虚拟内存环境用起来爽极了。
- 2.既然是编图象的程序,当然要把机器的分辨率和颜色数调大一点了,这样显示
- 出来的图象才显得漂亮(我用的是800*600,16bits即64k色)。另外,装备一些好的
- 图象软件是绝对必要的。我经常使用以下几种软件:Sea,在Dos下的看图工具,而且
- 可以很方便的转换图象格式;AcdSee,一个小巧玲珑的看图软件;Ulead IphotoPlus,
- 最大的优点是可以进行调色板的处理;Windows PaintBrush,不要以为画笔的功能很弱,
- 其实很多情况下还是很有用的;PhotoShop,就不用我多说了。
- 3.图象处理的算法之中不可避免地要遇到一些数学的公式,有人说"每多一个公式
- 就要吓跑一半的读者",我将尽可能用通俗的语言将这些原理,公式讲解出来,力求做
- 到公式尽可能的少,但遇到只有用公式才能讲明白的时候,我也决不回避,希望大家
- 能耐着性子看下去。
- 好了,废话不多说了,现在就让我们进入五彩缤纷的图象世界吧!