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

至此,结束

相关推荐
lzqrzpt14 分钟前
LED驱动电源选型核心参数解析与工程适配准则
python·单片机·嵌入式硬件
李航198318 分钟前
SketchUp国产平替来了,功能非常接近,还有AI版本自动建模
人工智能·python·计算机视觉·ai·ai编程
玩AI的奶茶18 分钟前
什么情况适合租算力?一张场景对照表,加三个自测问题
大数据·linux·服务器·数据库·人工智能·python
沉下心来学鲁班23 分钟前
具身智能入门:用 Python 让 MicroDuck 机器狗学会走路
开发语言·人工智能·python·机器人
东莞市云毅网络有限公司30 分钟前
用 Python 给官网做字段级变更监控:快照、比对与变更清单
python·数据清洗·rag·企业知识库·文档解析
quantdash_cc1 小时前
如何给自己的量化策略增加独立数据层?从数据获取到策略解耦的 Python 实践
开发语言·python·数据分析·量化交易·股票数据·quantdash
NeoGressAI外贸数字化1 小时前
外贸独立站3类页面合格度,怎么用脚本一次跑完
开发语言·python
benchmark_cc1 小时前
批量获取股票数据后,如何统一转换成 DataFrame?从数据结构到量化研究的完整实践
数据结构·python·数据分析·量化交易·股票数据·quantdash
溪语流沙1 小时前
面试加分项!Manacher:O(n)求最长回文子串的对称之美
java·python·leetcode·面试·职场和发展