灰度共生矩阵python_四:利用python的skimage计算灰度共生矩阵

我们经常提取影像的纹理信息,而提取纹理信息,我们常用灰度共生矩阵,下面就是利用skimage计算图像的GLCM

那么,计算GLCM的是什么包呢:

from skimage.feature import greycomatrix, greycoprops

下面导入的包有些是不用的我也懒得删掉,不影响使用

import math
import numpy as np
import rasterio
from rasterio.mask import mask
import geopandas as gpd
from shapely.geometry import mapping
import pandas as pd
from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix
from sklearn.model_selection import train_test_split
import time
import matplotlib.pyplot as plt
import cv2
from PIL import Image
import os
from skimage.feature import greycomatrix, greycoprops
def get_img(s): # s为图像路径
    values_temp = []
    input = cv2.imread(s, cv2.IMREAD_GRAYSCALE) # 读取图像,灰度模式 
    # 得到共生矩阵,参数:图像矩阵,距离,方向,灰度级别,是否对称,是否标准化
    # [0, np.pi / 4, np.pi / 2, np.pi * 3 / 4] 一共计算了四个方向,你也可以选择一个方向
    # 统计得到glcm
    glcm = greycomatrix(input, [2, 8, 16], [0, np.pi / 4, np.pi / 2, np.pi * 3 / 4], 256, symmetric=True, normed=True)  # , np.pi / 4, np.pi / 2, np.pi * 3 / 4
    print(glcm.shape) 
    # 循环计算表征纹理的参数 
    for prop in {'contrast', 'dissimilarity','homogeneity', 'energy', 'correlation', 'ASM'}:
        temp = greycoprops(glcm, prop)
        # temp=np.array(temp).reshape(-1)
        values_temp.append(temp)
        print(prop, temp)
        print('len:',len(temp))
        print('')
    return (values_temp)
values = []
if __name__ == '__main__':
    for n in range(318):
        values.append([])
        temp_ = get_img(r'C:UsersDesktop/grey/'+str(n)+'.png')
        values[n].append(np.array(temp_).ravel())

# 因为选择了四个方向,所以最终每一个波段有四个值
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值