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

至此,结束

相关推荐
归去来?33 分钟前
记录一次从https接口提取25G大文件csv并落表的经历
大数据·数据仓库·hive·python·网络协议·5g·https
喵手34 分钟前
Python爬虫零基础入门【第三章:Requests 静态爬取入门·第1节】你的第一个爬虫:抓取页面并保存 HTML!
爬虫·python·爬虫实战·python爬虫工程化实战·requests静态爬取·抓取网页并保存html·零基础入门python爬虫
喵手35 分钟前
Python爬虫零基础入门【第三章:Requests 静态爬取入门·第2节】伪装与会话:Headers、Session、Cookie(合规使用)!
爬虫·python·python爬虫实战·python爬虫工程化实战·requests静态爬取·伪装与会话·零基础python爬虫入门
小白学大数据1 小时前
绕过拼多多 App 反抓包机制的综合逆向解决方案
开发语言·爬虫·python·自动化
使者大牙1 小时前
【单点知识】 Python装饰器介绍
开发语言·数据库·python
Jackson@ML1 小时前
2026最新版Sublime Text 4安装使用指南
java·python·编辑器·sublime text
TonyLee0171 小时前
半监督学习介绍
人工智能·python·深度学习·机器学习
kong79069281 小时前
Python核心语法-Python自定义模块、Python包
开发语言·python·python核心语法
OLOLOadsd1232 小时前
基于Mask-RCNN和RegNetX的茎蛀虫检测识别系统详解
python
半路_出家ren2 小时前
1.古典密码概述
python·网络安全·密码学·古典密码·加密方式