灰度共生矩阵(GLCM)计算速度快很多,用numpy写的
#定义最大灰度级数
gray_level = 16
def maxGrayLevel(img):
max_gray_level=0
max_gray_level = np.max(img)
return max_gray_level+1
def getGlcm(input,d_x,d_y):
srcdata=input.copy()
gray_level_array=np.ones(input.shape)*gray_level
ret=np.zeros((gray_level,gray_level)).tolist()
(height,width) = input.shape
max_gray_level = maxGrayLevel(input)
max_gray_level_array=np.ones(input.shape)*max_gray_level
#若灰度级数大于gray_level,则将图像的灰度级缩小至gray_level,减小灰度共生矩阵的大小
if max_gray_level > gray_level:
srcdata = (srcdata * gray_level_array / max_gray_level_array).astype(int)
for j in range(height-d_y):
for i in range(width-np.abs(d_x)):
rows = srcdata[j][i]
cols = srcdata[j + d_y][i+d_x]
ret[rows][cols]+=1.0
height_width_array=np.ones(np.array(ret).shape)*float(height*width)
ret/=height_width_array
return ret
def feature_computer(p1):
p=np.array(p1)
Eng=0.0
Eng = np.sum((p+1e-12)*np.log(p+1e-12))
return -Eng
def test(image_name):
img = image_name
img1 = image_name
try:
img_shape=img.shape
except:
print ('imread error')
return
img=cv2.resize(img,(int(img_shape[1]/2),int(img_shape[0]/2)),interpolation=cv2.INTER_CUBIC)
if img1.shape[2] == 3 :
img_gray=cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
else:
img_gray = img
glcm_0=getGlcm(img_gray, 1,0)
eng =feature_computer(glcm_0)
return eng
参考文献:Haralick R M, Shanmugam K, Dinstein I. Textural Features for Image Classification[J]. Systems Man & Cybernetics IEEE Transactions on, 1973, smc-3(6):610-621
灰度共生矩阵(GLCM)计算速度快很多,用numpy写的相关推荐
- 灰度共生矩阵GLCM及其matlab实现
Prerequisites 概念 计算方式 对于精度要求高且纹理细密的纹理分布,我们取像素间距为d=1d = 1,以下是方向的说明: 我们来看,matlab内置工具箱中的灰度共生矩阵的生成函数gray ...
- 灰度共生矩阵(GLCM)
灰度共生矩阵(GLCM) 算法简介 灰度共生矩阵法(GLCM, Gray - level co - occurrence matrix),就是通过计算灰度图像得到它的共生矩阵,然后透过计算该共生矩阵得 ...
- matlab 灰度共生矩阵熵,图像的灰度共生矩阵GLCM(matlab 函数帮助).
Gray-level co-occurrence matrix from an image 图像的灰度共生矩阵 灰度共生矩阵是像素距离和角度的矩阵函数,它穿越计算图像中定然距离和定然方向的两点灰度之间 ...
- 计算灰度共生矩阵GLCM
灰度共生矩阵 灰度共生矩阵定义为像素对的联合分布概率,是一个对称矩阵,它不仅反映图像灰度在相邻的方向.相邻间隔.变化幅度的综合信息,但也反映了相同的灰度级像素之间的位置分布特征,是计算纹理特征的基础. ...
- 基于灰度共生矩阵(GLCM)的图像纹理分析与提取
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 灰度共生矩阵 灰度共生矩阵(Gray Level CO-Occur ...
- 【OpenCV 例程 300篇】231. 特征描述之灰度共生矩阵(GLCM)
『youcans 的 OpenCV 例程200篇 - 总目录』 [youcans 的 OpenCV 例程 300篇]231. 特征描述之灰度共生矩阵(GLCM) 4.2.4 灰度共生矩阵(GLCM) ...
- 二维特征分类的基础_纹理特征1:灰度共生矩阵(GLCM)
GLCM复习备用: 纹理分析是对图像灰度(浓淡)空间分布模式的提取和分析.纹理分析在遥感图像.X射线照片.细胞图像判读和处理方面有广泛的应用.关于纹理,还没有一个统一的数学模型.它起源于表征纺织品表面 ...
- 纹理特征分析的灰度共生矩阵(GLCM)
纹理分析是对图像灰度(浓淡)空间分布模式的提取和分析.纹理分析在遥感图像.X射线照片.细胞图像判读和处理方面有广泛的应用.关于纹理,还没有一个统一的数学模型.它起源于表征纺织品表面性质的纹理概念,可以 ...
- Python计算图像纹理-灰度共生矩阵
基于Python探究灰度共生矩阵(GLCM)那点事儿 - 知乎一.什么是灰度共生矩阵? 灰度共生矩阵(Gray-level co-occurrence matrix:GLCM)和相关的纹理特征计算是图 ...
- python 计算灰度共生矩阵
纹理特征:灰度共生矩阵 纹理特征分为四大类:统计方法(灰度共生矩阵.局部二进制)信号处理方法(小波变换.Gabor变换)模型方法(分形 SAR 自相关)结构方法(数学形态学.句法纹理分析) 灰度共生矩 ...
最新文章
- Android 录音功能直接拿去用
- 推荐6个HTML5编辑器
- 编码和解码、调制与解调
- web.xml 中的filter
- 客户端证书错误避坑指南
- windows启动管理器怎么修复计算机,如果启动管理器丢失怎么办
- Hadoop1.x HDFS系统架构
- 自动驾驶仿真:Carsim、NI和VTD联合仿真课题一
- Weighing Features of Lung and Heart Regions forThoracic Disease Classification
- 苹果新专利:紧急情况下可用指纹或特定输入操作悄悄呼救
- 三维地图之cesium轨迹回放(有代码)
- C语言与C++常见问答题
- csdn的粉丝老铁及技术小伙伴们拜年
- thinkphp(2)
- 【论文笔记】DRL safety专题经典论文6篇
- 敏捷开发 如何设计好看板?:敏捷看板成功实施的关键?如何通过看板实现项目可视化?
- matlab检验协方差阵是否相等,matlab协方差矩阵
- 盘点30种磁芯结构图汇总
- 在我们睡觉的时候,程序能不能自动查 bug?
- tcl电视服务器显示异常怎么办,42寸TCL电视常见的八个故障与解决案例分享!
热门文章
- 荣耀4a刷android 6,荣耀4A全网通(SCL-AL00)一键救砖教程,轻松刷回官方系统
- maven 编译出现错误
- gazebo设置_gazebo的学习与使用
- Golang 获取月初和月底日期
- 微信支付查询订单V2 接口
- 一个免费识别验证码的接口
- ERROR in ./node_modules/element-plus/es/components/menu-item-group/style/css2.mjs 2:0-54
- 零基础学图形学(9) 几何知识——行向量和列向量
- 小丁带你走进git的世界二-工作区暂存区分支
- 保送清华计算机,2018年北大、清华五大学科竞赛集训队保送生争夺战结果