【问题标题】:Train SVM with OpenCV using colour histograms使用颜色直方图使用 OpenCV 训练 SVM
【发布时间】:2015-02-17 22:33:26
【问题描述】:

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

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

【问题讨论】:

    标签: python c++ opencv image-processing svm


    【解决方案1】:

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

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

    在哪里,

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

    有关更多信息,请参阅docs

    您还可以查看讨论 C++ OpenCV SVM 实现的 this answer 和讨论 Python OpenCV SVM 实现的 this answer 以开始使用。

    【讨论】:

    • 感谢您的回答!在 &bgr_planes 我应该把我所有的正面和负面图像都放在里面吗?之后我必须教 SVM 直方图,我会用这个函数吗?
    猜你喜欢
    • 2015-06-03
    • 2016-11-16
    • 2015-05-04
    • 2015-07-25
    • 2015-04-18
    • 2015-01-22
    • 2015-03-16
    • 1970-01-01
    相关资源
    最近更新 更多