QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3936|回复: 2
打印 上一主题 下一主题

数字图像处理编程前言

[复制链接]
字体大小: 正常 放大

12

主题

3

听众

22

积分

升级  17.89%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2006-3-22 02:54 |只看该作者 |倒序浏览
|招呼Ta 关注Ta

 

前言

当你看到那些用PhotoShopCorel PhotoPaint等软件绘制出的精美图片,并被它们表现出的神奇效果所折服时,是否曾想到做一个自己的图象处理软件?就象PhotoShop那样。“怎么可能,吹牛吧!”你一定会这么说。呵呵,别着急,待我慢慢讲来。

我是一名计算机系的博士研究生,一直对图象处理、多媒体的东西非常着迷,选修过不少这方面的课程,做过许多有意思的实验。我常常有这样一种冲动:把我做过的这些东西拿出来与大家一起分享,把有关的原理、算法、程序介绍给大家。

有这种想法的另一个原因是:数字图象处理(Digital Image Processing)技术是一门非常实用的技术。PhotoShop的核心就是图象处理技术。而目前有关这方面的资料太少了,已有的书不是内容太陈旧(还停留在DOS下的CGAEGA甚至汇编编程阶段),就是理论性太强,不容易懂,没有例子,看过以后也不知道该如何编程。我想:如果能够通过实际的例子来介绍这些图象处理算法,大家就很容易理解了。

这本书的侧重点是介绍数字图象编程,因此在内容的选择上也有所考虑,介绍的都是图象处理中的基本算法,大多可以用程序实现。而那些理论性很强,不易编程的算法,在这本书里是找不到的。书中的每一章可以看做是一个专题,后面都附有实际运行通过的源程序例子,全部程序都采用Windows编程(不过我并不打算介绍Windows的编程,这已经超出了本书的范围)

下面是本书的主要内容:

(1)    windows位图bitmap(bmp文件)的结构和调色版的概念;

(2)    图象的平移、旋转、镜象变换、转置变换、放缩;

(3)    图象的平滑(去噪声)、锐化;

(4)    图象的半影调、抖动技术;

(5)    图象的直方图修正、彩色变换;

(6)    图象的腐蚀和膨胀效果、细化算法、骨架的提取;

(7)    图象的边沿检测与抽取、hough变换、轮廓跟踪;

(8)    图象的检测、模板匹配;

(9)    图象的压缩编码、JPEG压缩编码标准;

(10) 图象处理编程工具lead.ocxDirectDraw及简单的多媒体编程技术。

这里面有一些非常有趣的应用。例如第4章介绍了一个将一幅图象转换成ASCII码的算法。对于喜欢上BBS的读者,这个算法是非常有用的。在第10章,介绍了一款非常实用的图象处理编程工具lead.ocx,利用它可以很快地开发出非常棒的图象处理软件。

学习了这些内容,你就掌握了图象处理中的一些最常用的算法。当然,这些内容还不足以编出象PhotoShop那样“牛”的软件来(人家毕竟是Adobe公司的看家宝贝嘛!)。但是要知道:万丈高楼平地起,很多非常复杂的功能可能是一些简单方法的叠加。相信你自己吧,你一定能够成为图象处理大师的。

是不是还有些信心不足?好,让我变一个戏法给你瞧瞧。

MSITStore:H:\200541352851453.chm::/2.files/image001.gif" width="454" vshapes="_x0000_i1025" alt=""/>

图1       普通文本

MSITStore:H:\200541352851453.chm::/2.files/image002.gif" width="452" vshapes="_x0000_i1026" alt=""/>

图2       抽取骨架后的文本

上面有两幅图,图1是未经处理的普通文字,经过骨架抽取,变成了图2的样子。这可不是用PhotoShop做的,而是我自己编的程序处理的。怎么样?还不错吧。

有人会问:“在编这样的程序之前有什么要求吗?”回答是:“有,只有两条:(1)c语言比较熟悉;(2)曾经编过Windows的程序。

有三点要说明:

(1)    文中出现的所有例子都在我自己的机器上编译运行通过,我使用的编程语言为Visual C++4.1,运行环境为中文Windows95Windows98。程序采用的是Windows API接口,全部采用C语言编写,并未用到C++的东西,所以也可以在其他的C编译器,如Borland CWatcom C下编译通过(可能有些函数的名称有些差别,所以建议使用Visual C++4.04.14.25.0版本都可以)。尽管在Windows3.x平台上也能编译运行这些程序,但强烈建议使用Windows95Windows98,因为32位的虚拟内存环境用起来爽极了。

(2)    既然是编图象的程序,当然要把机器的分辨率和颜色数调大一点了,这样显示出来的图象才显得漂亮(我用的是800*60016bits64K)。另外,装备一些好的图象软件是绝对必要的。我经常使用以下几种软件:

l         Sea,在DOS下的看图工具,而且可以很方便地转换图象格式;

l         AcdSee,一个小巧玲珑的看图软件;

l         Ulead IPhotoPlus,最大的优点是可以进行调色板的处理;

l         Windows PaintBrush,不要以为画笔的功能很弱,其实很多情况下还是很有用的;

l         PhotoShop,就不用我多说了。

(3)   图象处理的算法之中不可避免地要遇到一些数学的公式,霍金说过:“每多一个公式就要吓跑一半读者”,我将尽可能用通俗的语言将这些原理,公式讲解出来,力求做到公式尽可能的少;但遇到只有用公式才能讲明白的时候,我也决不回避,希望大家能耐着性子看下去。

本书主要参考的是我上数字图象处理课时的教材,作者是朱志刚老师,在此表示感谢。还要感谢我的好朋友袁昱,诸晓文和清华出版社的各位老师,没有他们的帮助,这本书的的出版是不可能的。

好了,不多说了,现在就让我们进入五彩缤纷的图象世界吧!

zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

0

主题

0

听众

20

积分

升级  15.79%

该用户从未签到

新人进步奖

回复

使用道具 举报

bent2008        

0

主题

3

听众

32

积分

升级  28.42%

该用户从未签到

新人进步奖

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-4-10 01:27 , Processed in 0.802778 second(s), 69 queries .

回顶部