弱光条件下性能更好(OpenCV)?
我正在尝试检测手,我的算法在白天工作得很好,但在晚上它完全失败了——它根本没有显示出工作的迹象。
我得出的结论是,这是因为光照条件较差。
有人可以给我一些建议,以便在弱光条件下获得更好的性能吗?
我的算法仅使用 cvInRangeS 来查找 HSV 图像中的肤色像素。
任何提示都可以,无论它的帮助有多大。
谢谢
I am trying to detect hands, and my algorithm works perfectly during day, but during the night it completely fails- it shows no signs of working at all.
I have come to the conclusion this is because of lower light conditions.
Could someone please give me tips for better performance in lower light conditions?
My algorithm just uses cvInRangeS to find the skin-coloured pixels in an HSV image.
Any tip would do, regardless of how little it would help.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您首先标准化了您的输入吗?白天和夜间的平均
V
值是多少?也就是说,您的传感器将是 RGB,当 R、G 和 B 较低时,从 RGB 到 HSV 的转换会损失 H 和 S 分量的相当多的精度。在极值处:{0,1,0} 与 {1,0,0} 非常接近,但色调完全不同。
Have you normalized your input first? What's the average
V
value by day and by night?That said, your sensor will be RGB, and the transformation from RGB to HSV loses quite a bit of precision in the H and S components when R,G and B are low. In extrema: {0,1,0} is quite close to {1,0,0} but the hue is entirely different.
cv::equalizeHist 可能是您想要的标准化/均衡化。至于颜色匹配 - 您正在删除图像的 V 分量来进行颜色匹配,对吗?您还可以尝试 YCbCr,它已被证明在亮度方差方面甚至比 HSV 更好。
cv::equalizeHist is probably what you want for normalization/equalization. As for the colour matching - you are dropping the V component of your image to do the colour matching right? You could also try YCbCr, which has been shown to be even better than HSV in terms of lightness variance.