一、紋理特徵提取概述
紋理特徵是指用於表徵物體表面紋理的某些可描述的屬性,可用於匹配和分類。對於紋理特徵提取,主要可以分為三個部分:預處理、特徵提取和特徵選擇。
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-hant/n/190412.html