【问题标题】:OpenCV Meanshift Tracking HSVOpenCV Meanshift 跟踪 HSV
【发布时间】:2022-08-16 23:55:11
【问题描述】:

我想知道为什么在 OpenCV 示例中,当涉及到 meanshift 跟踪时,只使用 Hue 通道。

https://docs.opencv.org/4.x/d7/d00/tutorial_meanshift.html 这样的代码行暗示了我写的内容:

roi_hist = cv.calcHist([hsv_roi],[0],mask,[180],[0,180])

我理解将 RGB 颜色空间转换为 HSV 的主要思想,但我不明白为什么只选择 Hue 就足够了。我知道 roi_hist 后来用于创建反投影,但我也知道可以通过选择饱和度来创建 2-D roi_hist。

这取决于什么?我是否应该期望添加饱和度会改善我的跟踪结果?我想执行面部跟踪,所以我正在寻找肤色。

提前感谢您的帮助。

  • 您是否尝试过使用饱和通道?在得出结论之前最好尝试各种可能性
  • cv::calcHist 是一个非常奇怪的函数,非常非正交,具有拜占庭参数。我觉得无法理解。 ——不要太在意细节。很久以前有人写了那个教程,介绍了什么是有效的,就是这样。你不应该期望它有多大意义。如果您有直觉,请遵循它。它可能比教程更好。

标签: opencv tracking hsv mean-shift


【解决方案1】:

您链接的 OpenCV 教程引用了介绍 CAMSHIFT 的论文。CAMSHIFT 算法旨在跟踪人脸。在第三页,论文指出:

除了 对于白化病患者来说,人类都是相同的颜色(色调)。黑暗的- 有皮肤的人只是有更大的肉色饱和度 比浅肤色的人,这在 HSV 颜色系统,在我们的肉体追踪颜色中被忽略 模型。

在 HSV 中使用 H 允许使用适用于大多数人脸的单通道跟踪器。

【讨论】:

    猜你喜欢
    • 2011-12-09
    • 2015-03-08
    • 2010-12-09
    • 2021-11-27
    • 2014-01-09
    • 2011-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多