使用词袋模型(BoW)测试提取图像的特征点和聚类中心

文章目录


环境配置

(1) 导入opencv,参考链接

bash 复制代码
https://blog.csdn.net/Aer_7z/article/details/132612369

(2) 安装numpy

激活虚拟环境的前提下,输入:

bash 复制代码
pip install numpy

(3) 安装sklearn

激活虚拟环境的前提下,输入:

bash 复制代码
pip install scikit-learn

代码测试

在pycharm端运行下列代码(在同一目录下放置一张名为image.jpg的图片)。

bash 复制代码
import cv2
import numpy as np
from sklearn.cluster import KMeans

# 加载图像
image = cv2.imread("image.jpg", 0)  # 使用灰度模式加载图像

# 创建 SIFT 特征提取器对象
sift = cv2.SIFT_create()

# 检测关键点和计算特征描述符
keypoints, descriptors = sift.detectAndCompute(image, None)

# 将特征描述符存储在 features 变量中
features = np.array(descriptors)



# 假设你已经提取了局部特征并将其存储在 features 变量中,features 是一个 N × D 的矩阵,
# 其中 N 是特征数量,D 是每个特征的维度

# 聚类算法的参数设置
num_clusters = 100  # 聚类簇的数量

# 创建聚类算法对象
kmeans = KMeans(n_clusters=num_clusters)

# 执行聚类算法
kmeans.fit(features)

# 获取每个局部特征的聚类标签
labels = kmeans.labels_

# 获取聚类中心
centroids = kmeans.cluster_centers_

# 输出每个特征的聚类标签和聚类中心
for i in range(len(features)):
    print("特征", i, "的聚类标签:", labels[i])

print("\n聚类中心:")
for i in range(num_clusters):
    print("聚类", i, "的中心:", centroids[i])

至此,结束

相关推荐
逢城戏元宇宙3 分钟前
逢城戏元宇宙AR盲盒:为何成文旅连锁店实体店拓客引流新宠?
python
写代码的【黑咖啡】3 分钟前
Python中Excel文件的强大处理工具:OpenPyXL
开发语言·python·excel
格林威9 分钟前
Baumer相机金属表面油污检测:提升清洗工序监控能力的 7 个关键技术,附 OpenCV+Halcon 实战代码!
人工智能·数码相机·opencv·计算机视觉·视觉检测·工业相机·堡盟相机
m0_7066532312 分钟前
持续集成/持续部署(CI/CD) for Python
jvm·数据库·python
Blossom.11818 分钟前
把大模型塞进蓝牙耳机:1.46MB 的 Whisper-Lite 落地全记录
人工智能·笔记·python·深度学习·神经网络·chatgpt·whisper
Echo_NGC223727 分钟前
【联邦学习入门指南】 Part 2:核心挑战与安全机制
人工智能·python·深度学习·安全·机器学习·联邦学习
风好衣轻33 分钟前
[AI] max_num_seqs 参数详解
人工智能·python·深度学习
freejackman34 分钟前
持续集成-Jenkins 基础教程
java·python·ci/cd·自动化·jenkins·持续部署·持续集成
CCPC不拿奖不改名40 分钟前
提示词工程(Prompt Engineering)全体系知识手册
大数据·人工智能·python·搜索引擎·prompt
OnYoung41 分钟前
Python生成器(Generator)与Yield关键字:惰性求值之美
jvm·数据库·python