logo资料库

MATLAB计算分形维数的2种方法.docx

第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
资料共7页,全文预览结束
方法一:程序处理灰度图像 大概流程: 1 打开 matlab 软件,将下图黑色方框中所示的目录一直点击向右的黑色三角形打到分形维 数的文件夹; 2 在 matlab 软件命令行窗口输入 函数名(‘filename’),下图示例是调用的函数 Simple_DBC, 要处理的图片是下图右侧的 D25368.jpg,所以调用函数语句是下图椭圆框中的 Simple_DBC ('D25368.jpg’),然后点击 Enter 键就会得到一张灰度图片的分形维数; 该方法的缺点就是图片尺寸必须是下图 PS 中调整的 256 像素×256 像素,如果待处理图片 不是这个尺寸,可在 PS 软件中通过修改图片宽度高度尺寸,调整到 256×256;具体就是先 把待处理图片裁剪到长宽一样,然后调整长宽数值,直到 256 像素×256 像素。这是算法缺 陷,可以通过完善 MATLAB 程序来实现任意尺寸灰度图片的分形维数计算。
第一种方法在命令行调用函数 Show_GraySurface 还可以得到图像的灰度曲面(如下图中的 Figure1 就是图片 D25368.jpg 的灰度值分布三维曲面图),把一幅图像放置在 xoy 平面上, 像素的灰度值作为 z 轴上的值,由此构成的曲面叫做图像的灰度曲面。把代码里面的 picture_dir 改成自己图片的目录,直接运行 Show_GraySurface('filename')就可以看见结果。 注意输入图片的大小是 256x256 的 ———————————————— 原文链接:https://blog.csdn.net/lhhzbmh/article/details/87649134 总 结 : matlab 调 用 函 数 , 首 先 要 调 整 到 程 序 所 在 的 文 件 夹 , 即 上 面 的 C:Program Files\Matlab\R2015b\分形维数,然后,按照程序中的可以接受的调用设定,在软件命令行 输入函数名(‘参数’),点击 Enter 即可调用函数。
第二种方法,就是使用 Fraclab 工具箱进行二值化图像的分形维数的计算。 1 使用 Fraclab 工具箱进行二值化图像的分形维数的计算,首先要把感兴趣区域与背景区分 开来以降低噪声干扰,也即是把 RGB 图像从一个三维的数据转换为一个二值的二维矩阵。 具体操作依然是调用在“C:\Program Files\Matlab\R2015b\分形维数”文件夹中的 Matlab 程序 preforDBC.m,调用程序操作见第一种方法以及参看下图: 对待处理图像的预处理结果如上图所示得到灰度图,二值化图以及二值化取反图。 2 然后在在 matlab 软件命令行窗口输入 fraclab,点击 Enter 后,弹出 Fraclab 工具:
3 然后点击 Fraclab2.2 中的 Workspace,弹出如下 import Date from MATLAB Workspace 界面, 然后左键选中第一个数据类型 binary_date,数据类型为 double。然后点击 Import。 4 然后点击下图中的 Dimensions-Box dimension: Box method-Binary_Date:
弹出如下图所示界面: 最后点击 Compute,弹出下图界面: 然后鼠标在上图曲线上移动十字光标选中区间边界(Choose the bounds of the interval), 得到和原本曲线较趋近的拟合蓝色曲线如下图:
然后按提示点击 Escape 键,则在下图黄色框中的 Box Dimension=处得到分形维数(如下图): 总结:
2 种方法是有区别的,第一种方法处理的是灰度图像,更接近三维空间的分形维 数,所得到的的分形维数值在 2-3 之间;而第二种方法是针对二值化图像,是 2 纬空间的分形维数,因此所得的分行为数值在 1-2 之间。
分享到:
收藏