使用词袋模型(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])

至此,结束

相关推荐
2601_967979126 小时前
pip在Python中的9个必须知道的用法
python·pip·版本控制·包管理工具·requirements.txt
曲径海盗6 小时前
【Python 学习第 58 天】列表方法
python·学习笔记·编程入门
DeepVisionary7 小时前
Runway开源机器人大模型Praxis-1,推演延迟压到62毫秒
python·自动化
Cooper258 小时前
DDC 命令成功但屏幕不动:用 gamma 表重做亮度映射
python·mac
师夷长技以自愈8 小时前
手搓 AI Agent 第 7 篇:菜做砸了别硬炒——错误分类 + 双账本熔断
人工智能·python
用户956256254299 小时前
15 分钟社媒简报 Agent:我只用了搜索和模型两步
python·api
Dumbness9 小时前
关键词回复里写了 {订单号},群机器人整条消息都炸了
python·微信
调接口的阿光9 小时前
调用对话接口时输出被截断怎么办:先看 finish_reason,再决定是续写一次、缩小范围,还是换成更短的格式(Python)
人工智能·python
Cooper259 小时前
单文件 Flask 跑通微信服务器校验:先跑通再谈工程化
python·flask
Cooper259 小时前
三源热榜去重加 AI 摘要:URL 唯一键踩出的三个坑
前端·python