> 文章列表 > 颜色相关图的64维特征矢量

颜色相关图的64维特征矢量

颜色相关图的64维特征矢量

import cv2
import numpy as np
from sklearn.cluster import KMeans

加载图片

img = cv2.imread(‘all_souls_000000.jpg’)

转换为HSV色彩空间

hsv_img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

图像转换为一维向量

img_1d = hsv_img.reshape((-1, 3))

使用k-means算法将像素聚类到64个颜色簇中

kmeans= KMeans(n_clusters=64, random_state=0).fit(img_1d)

aa=kmeans.labels_.astype(np.uint8)

计算每个颜色簇在图像中出现的频率

histogram = cv2.calcHist([aa], [0], None, [64], [0, 64])

归一化直方图

normalized_hist = cv2.normalize(histogram, histogram).flatten()