preface.txt
上传用户:s6549606
上传日期:2015-11-11
资源大小:12002k
文件大小:3k
源码类别:

图形图像处理

开发平台:

Visual C++

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