分形维的计算方法比较多,虽然准确度各不相同,但结果都大同小异。最近对这方面做了一些了解,并用在图像的特征提取中。现在总结一下。

俺们做磕盐的银,转载也要严谨的注明出处,吴有光20111121写于博客:http://blog.sina.com.cn/wuyouguang

1,盒子法(box-counting)【1】

Gangepain于1986年提出来的。将图像看做三维的曲面,然后计算覆盖的盒子数,即可得到分形维数。

Step 1:对于一幅MxM的图像,看其看做三维空间的一个曲面。长为M宽为M高为L,其中L为图像的像素级数,一般取L=256.

Step 2: 将其所在平面(MxM)分为RxR大小的网格,在“高度”这个坐标也进行相同的划分,不过划分的单位为R*L/M。这样,图像所在三维空间就被划分中很多“盒子”。看得出来,这样划分的目的是使长宽方向和高度方向的划分“次数”相同。

Step 3:在被划分成的每个RxR个网格内,找出最大像素值u和最大像素值b,输出从最小值到最大值,一共要几个盒子才能覆盖住,盒子个数记为n(i,j)——假设当前是第(i,j)个网格。即n(i,j)=[(u-b+R-1)/R],式中[为取整符号].

Step 4: 对每个RxR的盒子数求和,记为N。即N=sum(n(i,j))。

Step 5: 此时理论上分形维数D= -logN/logR,当R趋于无穷大时。当现实中R是有限值,所以改变R的值,求出一组N来,应用线性拟合,所得直线的斜率就是D。

英文版如下

2,随机游走法(fractional Brownian motion,FBM)【2】

这是分形的大牛Mandelbrot在他的“自然界的分形几何”中提出的。

在这种模型中,图像的灰度值被认为是随机游走的结果,于是就可用fBf模型来建模。

Step 1:将图像灰度值看做随机游走的结果,设定一个间隔值R(比如R=3),计算G=I(x2,y2)-I(x1,y1),其中要求||(x2,y2)-(x1,y1)||=R。简化计算就是每个点跟他上下左右相邻R的像素点作差。

Step 2:计算G的期望,就是均值,也就是全部加起来除以总个数,得到E(G)。

Step 3:理论上,log(E)=(3-D)logR+c,c为常数。为了精确计算,跟上面的方法1一样,取不同的R,最后得到一组对应的E和R,进行线性拟合,得到的斜率就是3-D。

英文版如下

3,频域法【4,5】

Pentland提出了频域分形维估计方法。

Step 1:全图做傅里叶变换,则fBf的傅里叶功率谱满足P(f)=f^(-2h-1)=f^(2D-5)。其中h是临时变量,这里无用;D就是分形维数。

Step 2:在功率谱图上,对相同频率的数值求和,即距离原点为5的点累加为P(5),以此类推。得到P(f)--f函数

Step 3:对logP(f),logf进行线性拟合,斜率就是2D-5。就可以求出D了。

英文版如下

Bibliography

[1]. Gangepain and C. Roques-Carmes, “Fractal approach to two dimensional and three dimensional surface roughness,” Wear, 1986,vol. 109, pp.119-126

[2]B. B. Mandelbrot, The Fractal Geometry ofNature, San Francisco, CA:Freeman, 1982.

[3] C.-M Wu, Y.-C. Chen, and K.-S. Hsieh, “Texture features for classification of ultrasonic liver images,” IEEE Trans. Med. Imag., vol. 11, pp. 141–152, June 1992.

[4]Alex P. Pentland. Fractal-Based Description of Natural Scenes. IEEE Trans. Pattern Analysis and Machine Intelligence. Vol. Pami-6, No.6, 1984

[5]Nirupam Sarkar and B. B. Chaudhuri. An Efficient Differential Box-Counting Approach to Compute Fractal Dimension of Image. IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, VOL. 24. NO. I . pp115-120. JANUARY 1994

图像的三种分形维数的计算方法相关推荐

  1. hevc中随机访问时非IRAP图像存在三种限制

    为防止输出不均,存在三个限制. 第一个限制:任何 PicOutputFlag=1的图像,如果在解码顺序处于IRAP之前,也必须在输出顺序上处于IRAP图像之前.否则会在随机访问IRAP图像时造成输出不 ...

  2. 噪声图像的三种低通滤波演示系统

    理想低通滤波器(ILPF): 二维理想低通滤波器的传递函数H(u,v)为: 式中:为理想低通滤波器的截止颗率,是一个规定非负的量,这里理想是指小于等于的题率可以完全不受影响地通过滤波器,而大于的频率则 ...

  3. php设计程序闰年的计算方法,php判断闰年的三种方法(闰年计算方法)

    1,php闰年计算方法一: ①.普通年能被4整除而不能被100整除的为闰年.(如2004年就是闰年,1900年不是闰年) ②.世纪年能被400整除而不能被3200整除的为闰年.(如2000年是闰年,3 ...

  4. python图像缩放三种方法

    PIL图像缩放 不按比例缩放 按比例缩放 不按比例缩放 from PIL import Image, ImageOps import matplotlib.pyplot as plt import n ...

  5. 数字图像处理学习笔记(七)——用Pycharm及MATLAB实现三种图像内插法(最近邻内插法、双线性内插法、双三次内插法)

    数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声.增强.复原.分割.提取特征等处理的方法和技术.本专栏将以学习笔记形式对数字图像处理的重点基础知识进行总结 ...

  6. [HT/NHT/DQ]-三种基于EMD的瞬时频率计算方法的比较

    文章目录 0 前言 1 瞬时频率和经验模态分解 1.1 瞬时频率的定义 1.2 经验模态分解 2 瞬时频率的计算方法 2.1 HT方法 2.2 NHT方法 2.3 DQ方法 3 三种瞬时频率计算方法的 ...

  7. matlab中阈值计算方法,三种阈值计算方法在MatLab6.5中的实现

    2007 年 10 月 湘南学院学报 Oct. ,2007 第 28 卷第 5 期 Journal of Xiangnan University Vol. 28 No. 5 收稿日期 :2007 - ...

  8. OpenCV(总结篇)图像逐像素访问(三种操作:指针、迭代器、at()函数)

    目录 概述 1.指针访问 2.迭代器访问 3.at()函数访问 总代码 效果 参考资料 概述 访问图像像素值是图像处理的基本操作.OpenCV提供了很多访问方式,比较常用的三种方式:  (1) 通过指 ...

  9. ML:文本、图像等数值化数据相似度计算之余弦相似度计算三种python代码实现

    ML:文本.图像等数值化数据相似度计算之余弦相似度计算三种python代码实现 目录 相似度计算之余弦相似度计算 输出结果 三种python代码实现

  10. Opencv3编程入门学习笔记(三)之访问图像像素的三种方法

    访问图像像素的三种方法:指针访问,迭代器访问,动态地址访问.访问最快的为指针访问,以下算法在几毫秒,但指针访问容易造成内存泄漏:其次为迭代器访问:最后为动态地址访问. 以下程序是根据<OpenC ...

最新文章

  1. 你必须非常努力,才可以看起来毫不费力。
  2. 唐筛的准确率这么低为什么还要做_做注塑这么苦,为什么你还要坚持?
  3. 第二阶段团队项目冲刺第七天
  4. vuecli3 引入全局scss变量_在vue-cli 3中给stylus、sass样式传入共享的全局变量
  5. linux批量为文件名添加前缀脚本示例
  6. 开发每个静态网站是的模版代码(自己开发是长期优化过的觉得最简的代码)
  7. maven的java工程取mysql数据库数据
  8. 收藏 | 深度学习检测小目标常用方法
  9. codevs 1422 河城荷取
  10. 分布式服务框架之Dubbo简介
  11. 山东省计算机二级c语言题,2012计算机二级C语言题库.doc
  12. 常用的国产计算机软件,国产常用操作系统介绍,亲身使用告诉你答案!
  13. CenterNet: Keypoint Triplets for Object Detection论文详解
  14. 什么是长尾关键词?长尾关键词优化方法和技巧
  15. 输出每个数字对应的拼音
  16. 学习笔记(05):【中国PHP教育大牛高洛峰】亲授php教程-PHP常量的介绍
  17. 使用Html.fromHtml()怎么加载Html中的图片
  18. 【gradle Composing builds】gradle依赖管理Composing builds之杂症-快速同步
  19. UC Berkeley AI Project -MindsDB 学习
  20. 262. Trips and Users

热门文章

  1. 计算机考试二级搜题软件,计算机二级搜题库-可以帮助计算机二级备考生进行备考的刷题软件...
  2. 普通用户添加systemctl 自定义服务的开机启动项
  3. PDF加密如何批量解除
  4. 北航计算机考研录取多少人,北航计算机考研近三年报考录取情况
  5. 如何优化MySQL千万级大表,我写了6000字的解读
  6. 西安电子科技大学计算智能导论公茂果老师课程所有PPT
  7. 机器学习-DBSCAN聚类算法
  8. 二叉查找树与平衡二叉树
  9. itchat微信多开
  10. 一篇搞懂Git 和 SVN 的区别