gpt4 book ai didi

python - 如何在图像上训练 OpenCV SVM 分类器

转载 作者:太空宇宙 更新时间:2023-11-03 22:23:37 30 4
gpt4 key购买 nike

任务的目的是通过 SVM 对图像进行分类。变量“images”应该包含图像信息,相应的 labels 包含图像标签。 imageslabels 应该如何构建(什么格式和尺寸)?我尝试将 images 设置为 Python 数组(附加扁平化图像),但未成功,然后在另一次尝试中尝试使用 Numpy 数组:

images=np.zeros((number_of_images, image_size))
labels=np.zeros((number_of_images, 1))

svm=cv2.SVM()
svm.train(images, labels)

这是解决问题的正确方法吗?如果是,训练分类器的正确方法是什么?

最佳答案

我认为您不能使用原始图像数据来训练 SVM 模型。好吧,好吧,你可以,但不会很有成果。

基本方法是从每张图像中提取一些特征,并使用这些特征来训练您的模型。一组特征构成了一个单词词典,每个单词都描述了您的图像。由于您使用同一组词来描述每个图像,因此您可以比较不同图像对应的特征。 This link介绍更多细节,检查它。

下一步是什么?

  1. 为您的算法选择特征提取器 - HOG、SURF、SIFT (link)
  2. 从每张图片中提取特征。您将获得与图像数组长度相同的数组。
  3. 初始化词袋 (BoG) 模型
  4. 使用 BoG 训练 SVM

有用的链接:

  1. C++ vey detailed example
  2. Documentation for existing BOG classifier

关于python - 如何在图像上训练 OpenCV SVM 分类器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45811274/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com