python图像纹理提取_提取图像的颜色、纹理特征(传统算法)
Python-Image-feature-extraction
该系统采用Python开发框架进行图像分析功能模块设计。该系统能够对目标图像进行多维度解析与识别处理,并能有效提取目标物体的关键特征参数。其中包含了基于快速灰度共现矩阵(GLCM)的纹理描述方法以及局部二阶 Patterns (LBP) 作为关键特征。此外还实现了基于颜色矩和直方图的空间统计特性分析方法以进一步增强识别效果
原始图片
这里拿高光谱影像图片作为示例,图片大小为512*512。
原始图片
一、纹理特征
1、GLCM
GLCM方法(Gray-level co-occurrence matrix)是一种基于灰度图像统计其共生关系的技术,在计算得到其共生矩阵后进一步提取部分特征值以表征图像的一些纹理特征(其中关于纹理定义的问题仍待解决)。该方法能够有效反映图像在不同方向、一定间隔下灰度变化的整体信息,并为此构成了分析图像局部结构及其排列规律的关键工具。
numpy的快速灰度共现矩阵(GLCM)。
import fast_glcm
from skimage import data
if name == 'main':
img = data.camera()
glcm_mean = fast_glcm.fast_glcm_mean(img)
以上图片标题代表的含义:
(1)均值(Mean)
(2)标准差(Std)
(3)对比性(Contrast)不仅体现了图像空间差异性特征。其次,在描述这些特征时, 其数值分布直接表征了各区域间的空间差异性. 同样地, 在描述这些特征时, 反差与其空间差异性具有密切关联. 具体而言, 在某区域若出现较多的空间细节, 则反差会增大; 反之, 则会减小.
反映其所在区域像素亮度的变化情况。换言之, 图像亮度值的变化速度较快, 其 textures较深, 对比度显著提高, 同样地, 其 textures越清晰。
在相异性(Dissimilarity)的计算过程中,权重是基于矩阵元素与其对角线元素之间的距离按照指数形式进行递增的;如果将这一增长模式调整为线性递增,则将会得到一个新的相异性指标。
(5) Homogeneity作为衡量图像局部一致性的指标,在非均匀区域对应的Homogeneity值较低,在均匀区域对应的Homogeneity值较高。该指标的衰减遵循指数函数规律,在元素与中心点距离增大的情况下其权重呈指数级下降趋势
二阶矩/能量特征(ASM)灰度共生矩阵(gray-level co-occurrence matrix, GLCM)用于描述图像的空间均匀性和纹理复杂性。
如果GLCM的所有指标数值趋于一致,则ASM指标相对较低;而当矩阵中的元素数值差异显著时,则ASM指标相对较高。通常情况下,在ASM指标较高的状态下表示图像具有较为明显的纹理特征且集中度较高;相反地,在ASM指标较低的情况下则表明图像的纹理较为细腻且集中度偏低。
能量(Energy)是基于灰度共生矩阵各元素值计算得出的一种统计量,在图像处理中被用作描述图像纹理特性的关键指标。它能够有效衡量图像中纹理模式的空间变化特性以及整体分布规律性。具体而言,在此指标下具有较高数值的区域通常表现为较为规则且稳定的变换特征;而其数值越大则意味着该区域的空间分布更为均匀。
(8) 熵(Entropy)用于衡量图像纹理中的随机性(强度分布)。它衡量的是图像中信息含量与随机性的关系,并反映了图像结构的复杂程度。当共生矩阵中的所有元素数值相等或像素灰度呈现最大分散性时(即空间分辨率下相邻像素间的对比度最小),其熵达到最大。这表明,在相同的空间分辨率下(即相同的共生矩阵大小),高熵值对应于更为复杂的灰度模式。
表示矩阵中元素的分散程度,也表示图像纹理的复杂程度。
(9)最大概率(Maximum probability)表示图像中出现次数最多的纹理特征。
2、LBP
LBP(Local Binary Patterns)是一种用于描述图像局部纹理特征的运算子,在具备多分辨率特性和灰度尺度及旋转不变性的基础上被广泛应用于特征提取中的纹理分析。该方法主要通过计算像素及其邻域内像素的对比关系来生成二值化模式图,并基于此提取图像的纹理信息
获取图像的LBP特征:提取图像的基本形态及其同态变体、旋转抗性形态和同态抗性形态的LBP特征,并完成提取与展示。
get_LBP_from_Image.py 主要文件 获取图像的LBP特征。
get_resolve_map.py和get_uniform_map.py主要用于完成对降维后新像素值的映射工作。已经成功地将计算得到的结果整合到get_LBP_from_Image.py中,并且这两个程序的主要目的就是帮助理解算法在降维过程中如何生成新的像素值。
LBP
二、颜色特征
1、颜色矩
颜色是彩色图像中最重要的关键内容,在图像检索中得到了广泛应用。然而,在提取颜色特征时,许多算法都需要先对图像进行量化处理。这种量化过程可能会导致误检问题,并且生成的颜色特征维度较高,在检索过程中会带来一定的挑战性。AMA Stricker和M Orengo提出了基于颜色矩的方法。这种方法作为一种简洁有效的颜色特征表示手段,在统计矩方面具有显著优势:它包含均值(mean)、方差(variance)和斜度(skewness)等不同阶矩特性;由于低阶矩能够充分反映色彩分布的主要信息,在实际应用中只需考虑这些低阶矩即可实现对色彩分布的有效描述。该方法的优势在于无需进行色彩空间的量化处理;尽管如此,在实验结果表明其在检索效率方面仍存在不足之处;因此在实际应用中常被用作筛选工具以缩小搜索范围。
2、颜色直方图
在众多图像检索系统中得到广泛应用的颜色特征就是颜色直方图。该方法通过统计不同色调在整个图像中的比例来体现色彩特征,并不关注各色调在空间上的分布情况。对于难以实现自动分割处理的对象群落而言,基于颜色特性的统计模型——颜色直方图——具有显著的应用价值
细分:
颜色分布图不仅限于基于多种色彩空间与坐标体系的设计。在数字图像领域中,默认采用RGB作为基准。然而,在人类感知中,并非所有RGB模式都能准确反映色彩间的相似性。鉴于此,在实际应用中逐渐发展出HSV、Luv以及Lab等更为贴近人类视觉系统特性的替代方案。其中HSV模式因其广泛的适用性和良好的表现而成为主流选择。其三个组成部分分别对应色调(Hue)、明度(Saturation)以及亮度(Value)。
参考文献:
