python图像纹理提取_提取图像的颜色、纹理特征(传统算法)
Python-Image-feature-extraction
Python实现提取图像的纹理、颜色特征,包含快速灰度共现矩阵(GLCM)、LBP特征、颜色矩、颜色直方图。1044197988/Python-Image-feature-extractiongithub.com
原始图片
这里拿高光谱影像图片作为示例,图片大小为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)对比度反应了图像的清晰度和纹理的沟纹深浅。度量矩阵的值是如何分布和图像中局部变化的多少,反应了图像的清晰度和纹理的沟纹深浅。纹理的沟纹越深,反差越大,效果清晰;反之,对比值小,则沟纹浅,效果模糊。
反应某像素值及其领域像素值亮度的对比情况,图像亮度值变化快,换句话说纹理较深,它的对比度就越大,也就是它的纹理越清晰。
(4)相异性(Dissimilarity)计算对比度时,权重随矩阵元素与对角线的距离以指数方式增长,如果改为线性增长,则得到相异性。
(5)同质性/逆差距(Homogeneity)测量图像的局部均匀性,非均匀图像的值较低,均匀图像的值较高。与对比度或相异性相反,同质性的权重随着元素值与对角线的距离而减小,其减小方式是指数形式的。
(6) 角二阶矩 / 能量( ASM)灰度共生矩阵( grey level co-occurrence matrix,GLCM)用来描述图像灰度分布的均匀程度和纹理的粗细程度。
如果 GLCM 的所有值都非常接近,则 ASM 值较小; 如果矩阵元素取值差别较大,则 ASM 值较大。当 ASM 值较大时,纹理粗,能量大; 反之,当 ASM 值小时,纹理细,能量小。
(7)能量(Energy)是灰度共生矩阵各元素值的平方和,是对图像纹理的灰度变化稳定程度的度量,反应了图像灰度分布均匀程度和纹理粗细度。能量值大表明当前纹理是一种规则变化较为稳定的纹理。更高的值==纹理均匀性。
(8)熵(Entropy)测量图像纹理的随机性(强度分布)。熵是图像包含信息量的随机性度量,表现了图像的复杂程度。当共生矩阵中所有值均相等或者像素值表现出最大的随机性时,熵最大;因此熵值表明了图像灰度分布的复杂程度,熵值越大,图像越复杂。
表示矩阵中元素的分散程度,也表示图像纹理的复杂程度。
(9)最大概率(Maximum probability)表示图像中出现次数最多的纹理特征。
2、LBP
LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算子,具有多分辨率、灰度尺度不变、旋转不变等特性。主要用于特征提取中的纹理提取。
获取图像的LBP特征:对图像的原始LBP模式、等价LBP模式、旋转不变LBP模式,以及等价旋转不变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)。
参考文献:https://blog.csdn.net/lovebyz/article/details/84032927blog.csdn.net
python图像纹理提取_提取图像的颜色、纹理特征(传统算法)相关推荐
- android摄像头矩形框提取_视频图像摄像头跟踪的上位机系统设计
背景介绍 视频序列中的目标进行跟踪是计算机视觉的热门研究领域之一,其主要过程是首先在视频序列的第一帧图像中选定跟踪目标,之后运行跟踪算法,实现在后续帧中预测跟踪目标的位置.本系统设计了一个集成视觉目 ...
- python简历数据提取_提取python简介
书籍:掌握Python的网络和安全 Mastering Python for Networking and Security - 2018.pdf 简介 掌握Python的网络和安全 掌握Python ...
- python 输出纯音频_提取视频中的音频python三行程序搞定
写在开头 身处数据爆炸增长的时代,各种各样的数据都飞速增长,视频数据也不例外.我们可以使用 python 来提取视频中的音频,而这仅仅需要安装一个体量很小的python包,然后执行三行程序! 语音数据 ...
- python绘制指数函数图像及性质_指数函数图像及其性质正式版
教学设计方案 课题名称: 指数函数图像及其性质 姓名: 安翠青 工作单 位: 滦 县 第 六 中 学 学科年级: 高一年级 教材版 本: 人教 A 版 一. 教学内容分析 指数函数是重要的基本初等函数 ...
- python取省边界_提取行政区边界经纬度坐标(高德+百度)
前言 近来由于工作需要,需要提取某些城市的经纬度坐标,稍微搜索了一下,发现百度地图和高德地图都提供了相关的函数和例子.那么剩余的工作也就比较简单了,保存坐标,然后转换为WGS坐标,这样才能和现有的GP ...
- python两点画线_在图像python matplotlib的两点之间画一条线
我有一个图像,我正在使用pyfits加载到2D数组中.我想在图像上画一条穿过两个像素的线,并用添加的新线保存它(不是绘图).在这之后,我想用不同的颜色画一条垂直于前一条线的线.使用matplotlib ...
- python图片镜像翻转_翻转图像/镜像图像
你混淆了基于0和基于1的索引.x范围从0到org.size[0]-1.但是a的范围从org.size[0]到1,因为您从a=org.size[0]开始使用它,而不需要首先减去. 最有可能的错误来自这一 ...
- python图像隐写_在图像中隐藏数据:用 Python 来完成图像隐写术
什么叫"隐写术"? 隐写术是将保密信息掩藏在更大的信息内容中,使他人没法了解掩藏信息内容的存有及其掩藏信息的全过程.隐写术的目地是确保彼此中间的商业秘密沟通交流.与掩藏保密信息內容 ...
- 用python制作词频图_提取词频,制作词频云图
[python]代码库import jieba import matplotlib as mpl import matplotlib.pyplot as plt from wordcloud impo ...
最新文章
- FreeSql与SqlSugar性能测试对比
- 为网格布局图片打造的超炫 CSS 加载动画
- 18、java中的泛型
- 程序员面试金典 - 面试题 01.02. 判定是否互为字符重排(哈希map)
- Reactor和Proactor对比以及优缺点 (netty的底层原理reactor模型)
- tcp socket编程 java_JAVA TCP Socket编程 计算题
- 添加鼠标右键菜单项(EditPlus为例)
- contentType,charset和pageEncoding的区别
- vue实现简单的日历
- c语言中用中文转化数字,用C语言写中文数字字符串转数值变量
- 快手-开眼快创 Flutter 实践
- Linux中安装IE和Office等软件(转)
- 1023day5:class类属性方法、每次执行类属性+1、内建模块、时间装饰器wrapper、面向对象__slots__方法:限制类的属性等基础知识、正则表达式基础知识、多态鸭子类型
- Hander创建消息
- 2023最值得推荐的5款零编程数据可视化软件
- 在计算机控制系统中 常常需要设计,微型计算机控制技术第4章习题答案
- 豪斯医生改名换姓上演《我的“钱”半生》?
- 刚开始做淘宝运营应该怎么入手?
- 【通信学习】一些5G基本概念
- 文件批量重命名教程-批量重命名软件推荐