Python数据分析:常用图像特征
常用图像特征
- 颜色特征
- 纹理特征
- 形状特征
- skimage中的特征方法 skimage.feature
颜色特征
- 图像检索中应用最为广泛的视觉特征
- 颜色直方图:从256种灰度颜色分为k个区间,然后计算每个区间中像素点总数。
图像形状特征
-
形状特征值的表达必须对图像中物体或区域的分割为基础
-
SIFT(Scale-invariant feature transform) ,在尺度空间中提取的图像局部特征点。SIFT特征点提取较为方便,提取速度较快,对于图像的缩放等变换比较鲁棒,因此得到广泛应用。
-
HOG(Histogram of Oriented Gradient),用于检测物体的特征描述,通过计算和统计图像局部区域的梯度方向直方图来构建特征
-
由于HOG是在图像的局部方格单元上操作,所以它对图像几何和光学的形变都能保持很好的不变性
-
HOG特征特别适合于图像中的人体检测
颜色特征
from skimage import data, img_as_float, exposure
# 如果需要使用参数nbins,需要将图像数据从[0, 255]转换到[0, 1]
camera = img_as_float(data.camera())
# 颜色直方图
hist, bin_centers = exposure.histogram(camera, nbins=10)
print(hist)
print(bin_centers)
运行:
SIFT特征(DAISY特征)
from skimage.feature import daisy
import matplotlib.pyplot as plt
%matplotlib inline
daisy_feat, daisy_img = daisy(camera,step=180, radius=58, rings=2, histograms=6, visualize=True)
print(daisy_feat.shape)
plt.imshow(daisy_img)
运行:
HOG特征
from skimage.feature import hog
import matplotlib.pyplot as plt
%matplotlib inline
hog_feat, hog_img = hog(camera, visualise=True)
print(hog_feat.shape)
plt.imshow(hog_img)
运行: