图像的三种分形维数的计算方法
分形维的计算方法比较多,虽然准确度各不相同,但结果都大同小异。最近对这方面做了一些了解,并用在图像的特征提取中。现在总结一下。
俺们做磕盐的银,转载也要严谨的注明出处,吴有光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
图像的三种分形维数的计算方法相关推荐
- hevc中随机访问时非IRAP图像存在三种限制
为防止输出不均,存在三个限制. 第一个限制:任何 PicOutputFlag=1的图像,如果在解码顺序处于IRAP之前,也必须在输出顺序上处于IRAP图像之前.否则会在随机访问IRAP图像时造成输出不 ...
- 噪声图像的三种低通滤波演示系统
理想低通滤波器(ILPF): 二维理想低通滤波器的传递函数H(u,v)为: 式中:为理想低通滤波器的截止颗率,是一个规定非负的量,这里理想是指小于等于的题率可以完全不受影响地通过滤波器,而大于的频率则 ...
- php设计程序闰年的计算方法,php判断闰年的三种方法(闰年计算方法)
1,php闰年计算方法一: ①.普通年能被4整除而不能被100整除的为闰年.(如2004年就是闰年,1900年不是闰年) ②.世纪年能被400整除而不能被3200整除的为闰年.(如2000年是闰年,3 ...
- python图像缩放三种方法
PIL图像缩放 不按比例缩放 按比例缩放 不按比例缩放 from PIL import Image, ImageOps import matplotlib.pyplot as plt import n ...
- 数字图像处理学习笔记(七)——用Pycharm及MATLAB实现三种图像内插法(最近邻内插法、双线性内插法、双三次内插法)
数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声.增强.复原.分割.提取特征等处理的方法和技术.本专栏将以学习笔记形式对数字图像处理的重点基础知识进行总结 ...
- [HT/NHT/DQ]-三种基于EMD的瞬时频率计算方法的比较
文章目录 0 前言 1 瞬时频率和经验模态分解 1.1 瞬时频率的定义 1.2 经验模态分解 2 瞬时频率的计算方法 2.1 HT方法 2.2 NHT方法 2.3 DQ方法 3 三种瞬时频率计算方法的 ...
- matlab中阈值计算方法,三种阈值计算方法在MatLab6.5中的实现
2007 年 10 月 湘南学院学报 Oct. ,2007 第 28 卷第 5 期 Journal of Xiangnan University Vol. 28 No. 5 收稿日期 :2007 - ...
- OpenCV(总结篇)图像逐像素访问(三种操作:指针、迭代器、at()函数)
目录 概述 1.指针访问 2.迭代器访问 3.at()函数访问 总代码 效果 参考资料 概述 访问图像像素值是图像处理的基本操作.OpenCV提供了很多访问方式,比较常用的三种方式: (1) 通过指 ...
- ML:文本、图像等数值化数据相似度计算之余弦相似度计算三种python代码实现
ML:文本.图像等数值化数据相似度计算之余弦相似度计算三种python代码实现 目录 相似度计算之余弦相似度计算 输出结果 三种python代码实现
- Opencv3编程入门学习笔记(三)之访问图像像素的三种方法
访问图像像素的三种方法:指针访问,迭代器访问,动态地址访问.访问最快的为指针访问,以下算法在几毫秒,但指针访问容易造成内存泄漏:其次为迭代器访问:最后为动态地址访问. 以下程序是根据<OpenC ...
最新文章
- 你必须非常努力,才可以看起来毫不费力。
- 唐筛的准确率这么低为什么还要做_做注塑这么苦,为什么你还要坚持?
- 第二阶段团队项目冲刺第七天
- vuecli3 引入全局scss变量_在vue-cli 3中给stylus、sass样式传入共享的全局变量
- linux批量为文件名添加前缀脚本示例
- 开发每个静态网站是的模版代码(自己开发是长期优化过的觉得最简的代码)
- maven的java工程取mysql数据库数据
- 收藏 | 深度学习检测小目标常用方法
- codevs 1422 河城荷取
- 分布式服务框架之Dubbo简介
- 山东省计算机二级c语言题,2012计算机二级C语言题库.doc
- 常用的国产计算机软件,国产常用操作系统介绍,亲身使用告诉你答案!
- CenterNet: Keypoint Triplets for Object Detection论文详解
- 什么是长尾关键词?长尾关键词优化方法和技巧
- 输出每个数字对应的拼音
- 学习笔记(05):【中国PHP教育大牛高洛峰】亲授php教程-PHP常量的介绍
- 使用Html.fromHtml()怎么加载Html中的图片
- 【gradle Composing builds】gradle依赖管理Composing builds之杂症-快速同步
- UC Berkeley AI Project -MindsDB 学习
- 262. Trips and Users