一、紋理特徵提取概述
紋理特徵是指用於表徵物體表面紋理的某些可描述的屬性,可用於匹配和分類。對於紋理特徵提取,主要可以分為三個部分:預處理、特徵提取和特徵選擇。
1、預處理
預處理是對於紋理圖像進行處理,以提高特徵提取的準確率。主要包括圖像增強和去噪。圖像增強可以通過灰度拉伸、直方圖等方式進行增強。去噪可採用均值濾波、中值濾波等方式對圖像進行去噪。
2、特徵提取
特徵提取即從紋理圖像中提取有用的特徵向量。在紋理特徵提取中,一般常見的特徵有灰度共生矩陣(GLCM)、灰度差異矩陣(GDM)、灰度值直方圖(Histogram of Gradients, HOG)和局部二值模式(LBP)等。
3、特徵選擇
特徵選擇主要是從大量的高維特徵中選擇最有意義的特徵,以提高演算法的性能。可採用相關係數、卡方檢驗、互信息等方式進行特徵選擇。
二、灰度共生矩陣(GLCM)
灰度共生矩陣是依據一個像素點及其周圍像素點的灰度值相互關係,構造一個概率矩陣。該概率矩陣可以用來描述紋理特徵。可以通過如下代碼實現灰度共生矩陣的特徵提取:
import numpy as np
from skimage.feature import greycomatrix, greycoprops
from skimage import data
# 讀入灰度圖像
image = data.astronaut()
image = np.mean(image, axis=2)
# 計算水平方向的灰度共生矩陣
g = greycomatrix(image, distances=[1], angles=[0], levels=256,
symmetric=True, normed=True)
# 計算灰度共生矩陣的各項統計特徵
contrast = greycoprops(g, 'contrast')
homogeneity = greycoprops(g, 'homogeneity')
ASM = greycoprops(g, 'ASM')
energy = greycoprops(g, 'energy')
correlation = greycoprops(g, 'correlation')
三、局部二值模式(LBP)
局部二值模式是一種計算圖像紋理特徵的方法。其具體步驟為:將像素點及其周圍像素點與中心像素點比較,若周圍像素點的灰度值大於等於中心點的灰度值,則將該像素點的值賦為1,否則為0。然後將該二進位序列轉化為十進位數作為該像素點的紋理特徵值。可以通過如下代碼實現局部二值模式的特徵提取:
import numpy as np
from skimage.feature import local_binary_pattern
from skimage import data
# 讀入灰度圖像
image = data.astronaut()
image = np.mean(image, axis=2)
# 採用等價模式的局部二值模式
lbp = local_binary_pattern(image, P=8, R=1, method='uniform')
# 統計每個像素值的出現次數
hist, _ = np.histogram(lbp.ravel(), bins=256, range=(0, 255))
# 歸一化直方圖
hist = hist.astype("float")
hist /= (hist.sum() + 1e-7)
四、灰度差異矩陣(GDM)
灰度差異矩陣是用來描述紋理特徵的一種方法。其基本思想是計算定長窗口內像素點灰度值差的分布情況,以表徵紋理的粗糙度。可以通過如下代碼實現灰度差異矩陣的特徵提取:
import numpy as np
from skimage.feature import greycomatrix, greycoprops
from skimage import data
# 讀入灰度圖像
image = data.astronaut()
image = np.mean(image, axis=2)
# 計算水平方向的灰度差異矩陣
g = greycomatrix(image, distances=[1], angles=[0], levels=256,
symmetric=True, normed=True, diff='yes')
# 計算灰度差異矩陣的各項統計特徵
contrast = greycoprops(g, 'contrast')
homogeneity = greycoprops(g, 'homogeneity')
ASM = greycoprops(g, 'ASM')
energy = greycoprops(g, 'energy')
correlation = greycoprops(g, 'correlation')
五、特徵選擇
在特徵提取後,由於得到的特徵向量可能維度較高,因此需要進行特徵選擇,以提高演算法的性能。可採用相關係數、卡方檢驗、互信息等方式進行特徵選擇。
六、總結
本文主要介紹了紋理特徵提取的基本概念及常用方法,包括灰度共生矩陣、局部二值模式和灰度差異矩陣等。同時也介紹了特徵選擇的一些方法。紋理特徵提取在圖像識別、圖像匹配等方面有著廣泛的應用。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/190412.html
微信掃一掃
支付寶掃一掃