本文主要是介绍【算法知识总结】Tamura纹理特征的前世今生,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Tamura 纹理特征
我这篇文章主要是参考的Tamura纹理特征的matlab实现。本来没打算写这篇博客的,结果在写文章的时候各种找文献资料,都很难找到比较好的解释Tamura的文章。很多人的文章都是含糊其辞,要么就是排版稀烂,没法看。实在受不了自己写一个高大全的Tamura特征的博客,既方便自己也方便别人。
- 原始出处
- 原理解释
- 代码展示
原始出处
最原始的Tamura的论文《Textural Features Corresponding to Visual Perception》,IEEE上的这篇论文,可以直接下载。
Tamura纹理特征在一些中文论文中也有出现,也有解释的不错的,我推荐*《Tamura纹理特征在水下目标分类中的应用》*但是基本都避开了Tamura特征中线性相关的三个特征。
我在网上还找了一个讲纹理特征计算的博客,里面讲了Tamura纹理特征,还算是比较细致的,也不错。
原理解释
Tamura纹理特征包括六个指标: 粗 糙 度 ( C o a r s e n e s s ) 、 对 比 度 ( C o n t r a s t ) 、 方 向 度 ( D i r e c t i o n a l i t y ) 、 线 性 度 ( L i n e l i k e n e s s ) 、 规 则 度 ( R e g u l a r i t y ) 、 粗 略 度 ( R o u g h n e s s ) 粗糙度(Coarseness)、对比度( Contrast)、方向度( Directionality)、线性度( Linelikeness)、规则度(Regularity)、粗略度(Roughness) 粗糙度(Coarseness)、对比度(Contrast)、方向度(Directionality)、线性度(Linelikeness)、规则度(Regularity)、粗略度(Roughness),一般论文里面只用前三个特征,说前面三个特征是线性无关的,后面三个特征和前面三个特征是线性相关的,因此只采用前三个特征。但是我发现其实线性度这个特征还是比较难解释的,单纯观察看到的代码而言。
$ 粗糙度(Coarseness)$
粗糙度是反映纹理中粒度的一个量,是最基本的纹理特征。当两种纹理特征模式知识基元尺寸不同时,具有较大基元尺寸的模式给人感觉更粗糙。粗糙度的计算可以分为以下几个步骤进行:
.
- 计算图像中大小为 2 k × 2 k 2^k×2^k 2k×2k个像素的活动窗口中像素的平均强度值,公式:
A k ( x , y ) = ∑ i = x − 2 k − 1 x + 2 k − 1 − 1 ∑ j = y − 2 k − 1 y + 2 k − 1 − 1 g ( i , j ) / 2 2 k A_{k}(x,y)=\sum_{i=x-2^{k-1}}^{x+2^{k-1}-1}\sum_{j=y-2^{k-1}}^{y+2^{k-1}-1}g(i,j)/2^{2k} Ak(x,y)=∑i=x−2k−1x+2k−1−1∑j=y−2k−1y+2k−1−1g(i
这篇关于【算法知识总结】Tamura纹理特征的前世今生的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!