D0I:10.13374/j.issn1001-053x.1999.03.025 第21卷第3期 北京科技大学学报 VoL.21 No.3 1999年6月 Journal of University of Science and Technology Beijing June 1999 分形图像分析与分形维数计算程序的设计 丁保华李文超王福明 北京科技大学材料科学与工程学院,北京100083 摘要研究了分形图像的分析过程,提出合理的分形图像提取流程.利用Visual C+完成了 基于Windows平台的分形维数计算程序(Fractal Dimension Calculation Program:FDCP)的设计,并 以直线、康托尔三分点集、科赫曲线等分形图形对其进行了标定, 关键词分形:图像分析:维数:程序设计 分类号TB301 分形理论!的广泛应用依赖于分形图像的 由于Windows操作系统被广泛使用,BMP 提取、处理与分形维数的计算.现实中存在的分 图像格式得到几乎所有基于Windows平台图像 形几乎都是无规分形,其维数的计算比有规分形 原始图像 的维数复杂得多,而且有许多不同的计算方法, 业 它们都需要进行大量的图像分析与统计运算.因 数字化 此编制计算机程序来完成图像分析、处理与分形 维数计算等工作是解决上述问题的有效办法. 灰度图像 Visual C++是目前最为流行的程序设计语言,它 具有面向对象编程、支持Windows所有特性、可 分形特征提取 移植性好等优点.本文采用Visual C++设计基于 分形图像 Windows平台的FDCP程序, 1分形图像分析 图1分形图像提取流程 软件的支持,因此分形图像分析程序采用BMP 材料科学领域的许多过程都存在着大量的 格式进行数据存贮,而且通用的图像处理软件 无规分形,如材料的断裂,液态金属的凝固,薄 一般都能完成不同图像格式之间的转换.BMP 膜的生长,材料的氧化、烧结与侵蚀等.但材料 格式的图像文件由3个部分组成:位图文件头 的初始图像(金相照片、岩相照片、SEM与TEM (BITMAPFILEHEADER)数据结构、位图信息 的形貌像等)~般都是模拟信号,必须首先完成 (BITMAPINFO)数据结构和位图阵列信息.分析 数字化过程,然后将其他干挠信息去除,从而提 位图文件头与位图信息数据结构之后,才能正 取出分形图形.显然,这是一个很复杂的过程. 确地利用位图阵列中的信息.分形图像分析与 分形图形提取流程如图】所示.首先获得材料 分维计算程序采用Visual C.+语言编程,以Win- 试样的形貌像,作为原始图像:利用扫描仪等设 dows为工作平台,位图阵列信息记录了图像的 备将原始的SEM(或TEM等)形貌像输入计算 每一个像素值.在生成图像时,Windows从图像 机中并以一定的灰度图像文件格式(如:TIFF, 的左下角开始逐行扫描图像,即从左到右、从下 BMP,PCX)保存:去除噪音信号后,对图像进行 到上,将图像的像素值一一记录下来,这些字节 细致处理使图像具有合适的对比度:在最佳的 组成了位图阵列信息,其记录顺序如图2所示. 对比度状态下进行分形特征的提取,得到相应 分形图像的原始图像一般都是灰度图像(彩 的分形图像(或图形) 色图像可处理成灰度图像),分形特征提取主要 是根据其灰度分布情况来判断.不同的图像具 1999-01-13收稿丁保华男23岁,博士生 *国家自然科学基金课题No,59872002) 有不同的灰度分布,可能出现1个或多个灰度
第 21 卷 第 3 期 1 9 9 9 年 6 月 北 京 科 技 大 学 学 报 J o u r n a l o f U n i v e r s i yt o f S e i e n e e a n d eT e h n o l o gy B e ij i n g V b L Z I J U n e N O 一 3 1 9 9 9 分 形 图 像 分 析 与 分 形 维数 计 算程 序 的设 计 丁 保华 李文 超 王 福 明 北 京科技 大学 材料科 学与工 程 学 院 , 北 京 10 0 0 8 3 摘 要 研究 了分形 图像 的 分析过 程 , 提 出合理 的分 形 图像提取 流程 . 利用 Vi s ua 1C料完成 了 基于 Wi n d o w s 平 台的分 形维 数计 算程序 (F r ac t a l D im e n s i o n C a l e u lat i o n p or gr aJ 旧 : FD C p )的设计 , 并 以直 线 、 康 托 尔三分 点集 、 科 赫 曲线等 分形 图形对 其进 行 了标 定 . 关键 词 分形 : 图像 分析 ; 维数 ; 程序 设计 分 类号 T B 3 0 1 分形理论 l ’川 的广泛应用 依赖于 分形图像的 提取 、 处理与分形 维数的计算 . 现实中存在的分 形几乎都是无规分形 , 其维数的计算 比有规分形 的维数复杂得多 , 而 且有许多不 同 的计算方法 , 它们都需要进行大量的图像分析与统计运算 . 因 此编制计算机程序来完成 图像分析 、 处 理与分形 维数计算 等 工 作 是 解 决 上 述 问题 的 有效办 法 . iV su al C + + 是 目前最 为流行 的程序设计语言 , 它 具有面 向对象编程 、 支持 iW n do w s 所有特性 、 可 移植性好等优 点 . 本文 采用 珑 s ua 1 C 十十设计 基于 iW n d o w s 平台的 F D C P 程序 . 由于 V石n d ow s 操作系统被广泛 使用 , B M P 图像格式得到几乎所有基于 Wi n d ow s 平 台 图像 原始图像 数字化 灰度 图像 分形特征提取 分形图像 1 分 形 图像 分 析 材料科 学领域 的 许 多 过 程 都 存 在着 大 量 的 无规 分 形 , 如 材 料的 断 裂 , 液 态 金 属 的凝 固 , 薄 膜 的生 长 , 材料 的 氧化 、 烧 结 与 侵 蚀等 . 但 材料 的 初 始 图 像 (金 相 照 片 、 岩 相 照 片 一 、 S E M 与 T E M 的形貌像等 )一 般都是 模拟信号 , 必 须 首先完成 数字化过程 , 然后将 其他千 挠信 息去 除 , 从 而 提 取 出 分形 图形 . 显 然 , 这 是 一 个很 复杂 的 过 程 . 分 形 图形提取流程 如 图 1 所示 . 首先 获得材料 试样 的形 貌像 , 作为原 始 图像 : 利用 扫描 仪等设 备将原始 的 S E M (或 T E M 等) 形貌像 输入 计算 机 中并 以一 定 的 灰度 图像 文 件格式 (如 : IT F F , B M P , P C X )保存 ; 去 除 噪音 信 号 后 , 对 图像进行 细 致处 理使 图 像具 有合适 的 对 比度 ; 在最 佳 的 对 比度状 态下 进行分 形特 征 的提取 , 得到 相应 的分形 图像 (或 图形 ) . 1 99 9 一 0 1 一 1 3 收 稿 丁保华 男 , 2 3 岁 , 博士 生 * 国家 自然 科学 基金课 题困 。 乃9 8 7 2 0 0 2 ) 图 1 分形图像提取流程 软件的 支持 , 因 此分形 图像 分 析程 序采用 B M P 格 式 进行 数 据 存 贮 , 而 且 通用 的 图像 处理 软 件 一 般都能完成 不 同 图像 格式之间 的 转换 . B M P 格 式 的 图像文 件 由 3 个部 分 组 成 : 位 图文 件 头 ( B xT M A Pr I L E H E A D E R )数据 结 构 、 位 图 信 息 (BI T M A pNI Fo )数据结构和 位 图阵列信息 . 分 析 位 图文 件头 与位 图信 息数据 结构之后 , 才 能正 确地利用 位 图阵列 中的信 息 . 分形 图像分析 与 分维计算程序采用叭 s ua l C+ 语言编程 , 以 iW n - d ow s 为工 作平 台 . 位图 阵列信息记录 了图 像 的 每一 个像素值 . 在 生成 图像时 , iW n d o w s 从 图像 的左下 角开 始逐行扫描 图像 , 即 从左 到右 、 从 下 到上 , 将 图像 的像素值一 一 记录下 来 . 这些 字 节 组 成 了位 图阵列 信息 , 其记录顺序如 图 2 所 示 . 分形 图像 的原始 图像一般都是 灰度 图像(彩 色 图像可处 理成 灰度 图像) , 分形特 征提取 主 要 是根据其 灰度分布情况来判 断 . 不 同的图像具 有 不 同 的灰度分布 , 可能 出现 l 个或 多个灰度 DOI: 10. 13374 /j . issn1001 -053x. 1999. 03. 025
Vol.21 No.3 J广保华等:分形图象分析与分形维数计算程序的设计 ·305· 44 图2BMP图像格式位图阵列信意扫描方式 峰值.根据峰值个数以及处理过程的不同,可以 用不同的方法完成灰度图像的二值化过程,图 像的二值化是指通过设定某个阅值,并以该阅 50 (b) 值为门限,把具有多灰度级的图像变换成二灰 9 度级图像(即黑白图),即所有的像素分别置为 黑(像素值为0)和白(像素值为1).不同的阙值 30 设定方法形成了不同的二值化处理过程,常用 20 的二值化处理有以下儿种方法:(1)固定阑值法, 对于灰度图像集F,将其小于等于(或大于等于) 10 某阙值8的像素F们置为0:大于(或小于)0的 像素值全部置为1:其中,不同的图像根据灰度 020406080100120130 分布峰值的不同可以选择不同的值.(2)双固定 灰府俏 阑值法.对于灰度分布存在双峰值的图像集F, 可以设定2个不同的阑值0,与0(8<).当某个 像素F问门的像素值小于等于a或大于等于& 时,将其置为0:当8,<F凡叼<a时,将其置为 1,反之亦然.(③)各自像素阑值法.对于灰度图像 集F,设置图像数组同样大小的阑值数组日,用 阑值们对像素F[们进行二值化,若F[回 <,则F=0:若F]≥0,则F可 门=1.图3(a)是单晶Si在一定条件下,其氧化膜 生成的枝状晶的SEM形貌像:3(b)是其灰度分 布曲线:3(c)是二值化后的黑白图像:3(d)是在此 基础上建立的边界,不同的研究领域对分形特 (d) 征的要求是不一样的.如果研究的对象是枝状 晶,则图3(©)可以作为分形图像:如果研究的对 象是枝晶的边界或其他类海岸线,则需要建立 其边界,即图3d).将二值化图像的各种滤波(空 间邻域处理方法)结合模糊数学,以保证精确建 立图像的边界,如颗粒材料的边界、晶粒边界、 氧化界面、扩散界面等,然后可以对建立的边界 进行各种测量,得到需要的信息, 2分形维数计算程序设计 FDCP的设计需要涉及到大内存分配、回归 图3单晶硅氧化膜的SEM形貌像及其分形图像处理过程 。)灰度图像,)灰度分布,(何黑白图像,(d边界建立
·306 北京科技大学学报 1999年第3期 分析、多窗口,数据共享与位运算等诸多内容, 因此采用面向对象编程(OOP)的Visual C+作 为FDCP的程序设计语言,图4是分形维数计算 程序各功能模块之间的关系示意图,上控模块 控制整个程序的窗口框架与子窗口门的用户区的 刷新、消息传递与处理以及各个功能子模块的 衔接:图像显示模块负责完成在子窗口用户区 内显示分形图像以及计算结果:计算模块又包 括4个不同计算方法的功能子模块,它们分别 是周长面积法、盒计数法、半径法与变量法,这 些计算子模块用不同的方法对分形图像的维数 进行计算:数据交换模块主要用于与其他Win dows程序或软件进行数据交换,本程序采用2 图5主窗口界面图 种不同的方法,即利用剪贴板和VMF图片文 为验证程序的可靠性,分别用直线、正方 件与数据文件. 形、科赫曲线、康托尔三分点集这4种有规分形 图形对FDCP的计算结果进行了验证.其中,直 图像显示模块 线、正方形与康托尔三分点集的分形维数计算 周长面积法 结果与理论值严格相等,用FDCP的盒计数法 模块计算了第5级科赫曲线的分形维数,结果 盒计数法 如图6所示,从图6可以得出,FDCP计算的科 整 计算模块 赫曲线分形维数为1.2166.科赫曲线的理论分 半径法 形维数为D=ln4/1n3=1.2619,而由于无穷 级的科赫曲线是不可得的,因此标定采用第5 变量法 数据交换模块 级科赫曲线,计算结果表明FDCP用于计算分 维是可靠的.文献[5~8】用本文程序成功地对 图4FDCP程序设计流程图 Mo/B-Sialon与Ta/B-Sialon梯度功能材料中存在 利用可视化编程语言Visual C+的基本类 的界面分形维数进行了研究, 作(Microsoft Foundation Class:MFC)进行编程, 用FDCP程序的盘计数法计算了图3(c) 可以充分利用C+语言面向对象编程的优点, 的枝晶的维数为1.694:图3(d)的枝晶边界维数 能够提高代码的执行效率,保证程序易于扩充、 为1388,结果如图7所示,由此可见,不同的研 维护、移植,代码紧凑,效率高等优点,同时又充 究对象所构成的分形维数是显然不同的,因此, 分利用了Windows平台支持多任务的特点,容 必须正确选取研究的分形对象与选择合适的计 易实现不同应用程序间的数据交换.另外还可 算方法 以根据需要,对计算模块作相应的补充,使得增 加新的计算方法简单易行.程序提供非常友好 17=8.5625-1.2166nr) 的用户界面.图5是FDCP显示了5级科赫曲线 R=0.9976 的主窗口界面.它有“File”.“View”.“Fractal'”, D=1.2166 “Window'”与“Help”等菜单以及各自的下拉菜单 (Nu 组成.其中,图像显示模块采用MFC与SDK混 合编程,程序框架利用MFC完成.但由于MFC 所带的CBitmap类的显小速度较慢,为加速图 像显示过程,采用MFC的框架调用SDK函数 来实现显示功能,由于该程序需要支持多个图 像文件同时处理,因此FDCP程序必须采用MDI In(r) 窗口格式进行设计, 图6科赫曲线标定结果
Vol.21 No.3 丁保华等:分形图象分析与分形维数计算程序的设计 ·307· 13 11 (a) 10 (b) ln0=11.31851-1.6939n(e) 10 ln(W0-9.76922-1.38799n(e) 人 R=-0.99582 8 R=-0.99816 8 D=1.694 D-1.388 6 6 2 2 0 0 01 34 567 0 2 3456 In(e) In(e) 图7FDCP计算枝晶及其边界的维数 (a)枝晶维数,b)枝晶边界维数 3结论 Fractal Character of Fracture Surfaces of Metals.Nature, 1984,308(19:721 结合图像分析与处理技术,利用可视化 3张济忠.分形.北京:清华大学出版社,1995 编程语言Visual C+设计了基于Windows平台 4穆在勤,龙期威,康雁.测量断口分维的周长一最 的分形维数计算程序(FDCP).程序具有易于维 大直径方法.材料科学进展,1996,6(2:227 护,可扩充性好、界面友好、时间效率与空间效 5丁保华,文洪杰,仲维斌,等.MoB-Sialon梯度功能 材料的显微结构及分形计算.现代技术陶瓷(增刊), 率高、数据共享性好等优点,用直线、正方形、科 1996(4-065):344 赫曲线、康托尔三分点集等有规分形图形对 6丁保华,文洪杰,仲维斌,等.分形理论在高技术陶 FDCP进行了标定,结果表明FDCP用于计算分 瓷材料研究中的应用.耐火材料,1997,31(6):359 形维数是可靠的 7 Ding Baohua,Li Wenchao,Wang Fuming,et al.Fractal Application of Mo/B'-Sialon Functionally Gradient Mater- 参考文献 ials by Powder Metallurgy.China's Refractory,1998,7(2): 1谢和平,薛秀谦,分形应用中的数学基础与方法.北 27 京:科学出版社,1997 8丁保华,李文超,王福明,等.分形在梯度功能材料 2 Benoit B Mandelbrot,Dann E Passoja,Alvin J Paullay. 中的应用.材料导报,1998,12(5):6 Analysis of Fractal Image and Design of Fractal Dimension Calculation Program Ding Baohua,Li Wenchao,Wang Fuming Material Science and Engineering School,UST Beijing.Beijing 100083,China ABSTRACT The process of image analysis has been studied.And the flow of extracting fractal image has also been proposed.Fractal dimension calculation program has been developed by use of Visual C++progra- mming language with Windows platform.It has also been validated by line,Cantor Ternary Set and Koch Cur- ve. KEYWORDS fractal;image analysis;dimension;programming design
Vb l . Z I N O 一 3 丁保华等 : 分 形图象分析与分形维数计算程序 的设计 30 7 廊 l 3 l 2 I n 《劝 二 1 1 . 3 1 8 5 1一 l . 6 9 3 9 l n ( £ ) R = 一0 . 9 9 5 82 、 Z) = 1 . 6 9 4 ln ( N )=9 . 7 6 9 22 一 l . 3 8 7 99 in (日 R = 一 0 . 9 9 8 16 、 Z〕= 1 . 38 8 4 一匕6 ,` g 三 3 4 I n 仕) 只一 匕1 0 3 4 nI ( 。 ) 卜I 卜LI óō 6420一1 一 宫à一口 图 7 F D C P 计算枝晶及其边界的维数 a( ) 枝 晶维数 , 伪) 枝晶边界维数 3 结论 结合 图像分析 与处 理技术 , 利 用可视化 编程语 言 场 s ua l C + 设计 了基于 Wi n d o w s 平 台 的分形 维数计算程 序 (F D C )P . 程序 具有易于 维 护 , 可扩充性好 、 界面友好 、 时 间效率与空 间效 率高 、 数据共享性好等优 点 . 用直线 、 正 方形 、 科 赫 曲线 、 康 托 尔三 分 点 集 等 有规 分 形 图形对 F D C P 进行 了标 定 , 结 果表 明 F D C P 用于计算分 形维 数是可靠 的 . 参 考 文 献 1 谢和 平 , 薛秀谦 . 分 形应用 中的数 学基础 与方 法 . 北 京 : 科 学 出版社 , 1 99 7 2 B eno i t B M an d e l bor 仁 D an E P as s oj a , A l v in J P a u l l .ay F ar e at l C h a r a c t e r o f F r ac 加 r e S u r fa e e s o f M e at l s . N a t ir e , 1 9 8 4 , 3 08( 1 9) : 7 2 1 3 张济 忠 . 分 形 . 北 京 : 清 华大 学 出版 社 , 19 95 4 穆在 勤 , 龙期威 , 康雁 . 测 量 断 口 分 维 的周长— 最 大直 径方法 . 材料 科 学进展 , 19 % , 6( 2) : 227 5 丁 保华 , 文洪 杰 , 仲 维斌 , 等 . M o/ 尽 一 is al on 梯 度功 能 材料 的显微 结构 及分 形计 算 . 现 代技 术陶 瓷(增 刊 ) , 1996 ( 4 一 06 5 ) : 3 4 4 6 丁保华 , 文洪 杰 , 仲 维斌 , 等 . 分形 理论在 高技 术陶 瓷材 料研 究 中的应用 . 耐 火材料 , 19 9 7 , 3 1 ( 6 ) : 3 5 9 7 D i n g B ao h u a, L I W七n e h a o , W匕n g F urn in g , et a l . Far cat l A p li e iat o n o f M o /p ,一 S i a l o n F un e t i o n a lly G ar di e nt M aet r - i a l s b y P o w d e r M e at ll u 笔y . C h in a , 5 eR fr a c t o yr, 19 9 8 , 7 ( 2 ) : 2 7 8 丁保华 , 李 文超 , 王福 明 , 等 . 分形 在梯 度功 能材料 中 的应用 . 材 料导报 , 19 98 , 1 2 (5) : 6 A n a ly s i s o f F r a e t a l Im a g e an d D e s i g n o f F r a e at l D im e n s i o n C a l e u lat i o n P r o gr am D ing B ao 加风 iL 肠 n c h a o, 肠 gn uF m ign M aet ir al S e ien e e an d E n g i n e ir n g S c h o l , U S T B e ij in g, B e ij in g l 0 0() 8 3 , C h in a A B S T R A C T T七e 拼o c e s s o f im a g e an a ly s i s h a s b e e n sut d i e d . nA d ht e if o w o f e x tr a c t i n g far c at l 而吧e h a s ia s o b e en P r o Po s e d . F acr at l d lm e n s i o n e a l e ul at ion Por gr am ha s b e e n d e v e l o 沐d 妙 u s e o f 巧s us l C 什 rP o脚 - nIU ing lan ig 扭 g e w iht w l n do w s p l a t fo mr . It h a s a l s o b e e n v a lid aet d 妙 lin e , C a n t o r eT m娜 S e t an d K o c h C ur - V C 。 K E Y、 VO R D S fr ac at l: ha ag e an a ly s i s : d而e n s i o n : Por gr 田的 m ign de s i