之前学过的机器学习都是对一些有标签的数据通过分类器进行学习,那么对带标签的图像如何进行学习呢?
如果我们用一些特征来描述这些图片则也可以进行机器学习,因此我们来介绍几种常用的图像特征描述。(虽然现在有了CNN,CNN可以自己进行特征提取,但还是需要对OPenCV传统的特征提取方法有一些了解的)
我们对特征的描述是根据最后的应用场景设计特征,如应用场景更关心颜色则用颜色特征,因此无普适性( 但是CNN可以自适应学习出相应的特征)。
颜色特征
什么是颜色特征
颜色特征是图像检索中应用最为广泛的视觉特征。
如何描述颜色特征
我们可以通过颜色直方图来描述颜色特征。
从512x512的灰度图像中提取维度为k的颜色直方图,就是讲256种灰度颜色分为k个区间,然后计算每个区间中像素点总数为多少。
举个例子
import cv2
import numpy as np
img_gray_data = cv2.imread('./images/messi.jpg', cv2.IMREAD_GRAYSCALE)
hist, bins = np.histogram(img_gray_data.ravel(), bins=50