python - 使用颜色直方图使用 OpenCV 训练 SVM

标签 python c++ opencv image-processing svm

我是 OpenCV 的新手,我想创建使用 SVM 的简单对象检测器。而不是 HOG,我想从我的对象颜色直方图中提取(例如),但我找不到关于 OpenCV 的任何信息,到处都在使用 HOG。

我的第二个问题:SVM 的 Python 实现是否比 C++(都用于 OpenCV)功能少?

最佳答案

您可以使用 OpenCV 函数 calcHist 来计算直方图。

calcHist(&bgr_planes[0], 1, 0, Mat(), b_hist, 1, &histSize, &histRange, uniform, accumulate );

在哪里,

  • &bgr_planes[0]: 源数组
  • 1:源数组个数
  • 0:要测量的 channel (暗淡)。在这种情况下,它只是 强度,所以我们只写 0。
  • Mat():要在源数组上使用的掩码
  • b_hist:存储直方图的 Mat 对象
  • 1:直方图维度。
  • histSize:每个使用维度的 bin 数
  • histRange:每个维度要测量的值的范围 统一积累

引用docs获取更多信息。

你也可以看看this answer其中讨论了 C++ OpenCV SVM 实现和 this answer其中讨论了入门的 Python OpenCV SVM 实现。

关于python - 使用颜色直方图使用 OpenCV 训练 SVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27558431/

相关文章:

opencv - 使用 OpenCV 从视频讲座中提取幻灯片

python - 绘制时间戳数据帧的图表

python - Relu函数,返回0和大数

c++ - 关于C++虚函数继承的困惑

c++ - 以下结构是否为同一类型?

c++ - 如何使用智能指针调用包装对象的方法

python - 根据条件在 Dataframe 中乘以多列的最快方法

python - 每次请求都会增加 Django 内存使用量

c - GdkPixbuf-CRITICAL ** : gdk_pixbuf_get_width: assertion `GDK_IS_PIXBUF (pixbuf)' failed

wpf - 循环图像旋转在 opencv 中最好的方法是什么