Python Mahotas – Haralick
Mahotas是一个开源的Python计算机视觉库,提供了广泛的图像处理功能。Mahotas提供的功能之一是能够从图像中提取Haralick特征。Haralick特征是基于灰度共现矩阵(GLCMs)的纹理特征。
Mahotas库中的mahotas.features.haralick()函数可以用来从图像中提取Haralick特征。该函数将一幅图像作为输入,并为图像的每个像素返回一个由14个特征组成的矩阵。这些特征包括图像纹理的对比度、异同度、同质性和能量等信息。
Haralick特征是通过计算GLCM的统计数据计算出来的。它们是旋转不变的,可以针对不同的距离和角度进行计算。它们对于纹理分类、分割和特征提取非常有用。
Haralick特征的一些应用包括物体识别、医学成像和遥感。Haralick特征已被用于许多研究中,根据纹理对图像进行分类,如识别不同类型的土壤,检测医疗图像中的癌症,以及识别航空图像中的物体。
Mahotas库中一个名为 “mahotas.features.haralick() “的函数从一张图片中检索出一组14个Haralick特征。图像的灰度共现矩阵(GLCM)的统计数据构成了这些特征的基础。该函数提供的14个Haralick特征列举如下。
- 角度第二矩(ASM)
- 对比度
- 相关性
- 平方之和(Sum of Squares)。方差
- 逆差矩(IDM)
- 平均数之和
- 方差总和
- 熵值之和
- 熵
- 差异方差
- 差异熵
- 相关性的信息测量1(IMC1)
- 相关性信息测量2(IMC2)。
- 最大相关系数(MAXC)
统计测量: 这些特征提供关于图像中灰度等级分布的信息。例子包括角度第二矩(ASM)、平方之和。方差,和平均数。
对比度量: 这些特征提供关于像素之间的对比度或灰度等级差异的信息。例子包括对比度、反差矩(IDM)和总方差。
熵测量: 这些特征提供关于图像中灰度等级的随机性或无序性的信息。例子包括总熵、熵和差熵。
相关性测量: 这些特征提供了关于成对像素的灰度等级之间的关系的信息。例子包括相关度、相关度信息测量1(IMC1)和相关度信息测量2(IMC2)。
最大相关度: 该特征提供了所有计算角度中的最大相关系数。
每个特征都是根据GLCM的统计数据,使用特定的数学公式计算的。每个特征的确切公式可以在纹理分析和图像处理的文献中找到。
Mahotas-Haralick的应用
Mahotas库提供的Haralick特征已经被广泛用于图像分析和计算机视觉的应用中,一些例子包括。
- 物体识别: Haralick特征已被用于根据不同物体的纹理对图像进行分类。例如,它们被用来区分不同类型的土壤,或根据质地来识别一片叶子的种类。
- 医学成像: Haralick特征已被用于检测医学图像中的癌症。例如,它们被用来根据组织的纹理将乳房X光片分为正常或异常。
- 遥感: 哈拉里克特征已被用于对从卫星或飞机上拍摄的地球表面的图像进行分类。例如,它们被用来识别不同类型的土地覆盖,如森林、草原和城市地区。
- 工业检查: 哈拉利克特征已被用于工业检查中的缺陷分类。例如,它们被用来对印刷电路板、纺织品和金属的缺陷进行分类。
- 食品工业的质量控制: 哈拉利克特征已被用于根据食品的质地对食品的质量进行分类。
- 纹理分类: Haralick特征被用来对图像中的不同纹理进行分类,如木材、石头和织物。
- 分割: Haralick特征已被用作图像分割的特征描述符,这是通过从图像的不同区域提取特征并对其进行聚类来识别图像的不同部分。
其他应用包括,文字识别、人脸识别、指纹识别和手写识别。
总之,Mahotas库是一个强大的图像分析工具,Haralick特征是基于灰度共现矩阵(GLCMs)从图像中提取的纹理特征,这些特征是旋转不变的,可以针对不同的距离和角度进行计算。它们对于纹理分类、分割和特征提取非常有用。