![]() |
1
4
直方图表示图像中给定颜色的像素数量。 例如,假设您有这个3x3图像: 1 1 1 2 2 1 计数:4 2 1 颜色:1 2 3 4 由此你会发现最常见的颜色是颜色1。总结出非常相似的颜色可能也是有意义的。 例如,use count(2)=sum(hist(1),hist(2),hist(3));(hist是该颜色的像素数) |
![]() |
2
5
检测面部(或任何图像)的肤色,我强烈建议您使用HSV颜色空间(或更复杂的颜色空间,如LAB)而不是默认的RGB颜色空间,因为RGB值将根据强光或弱光和阴影等发生很大变化。而HSV在处理照明差异方面做得更好,它提供了一个易于使用的颜色值。 HSV表示色调饱和度值,其中色调是颜色。例如:0的色调是红色,50的色调可能是绿色。饱和度是灰色,因此接近0的饱和度值意味着它看起来很暗或灰色,而200的饱和度值可能是非常强烈的颜色(例如:如果色调为0,则为红色)。值是像素的亮度,所以0是黑色,255是白色。
我在HSV教程页面上有更多OpenCV RGB到HSV的转换信息,网址为: |
![]() |
3
3
OpenCV中没有这样的函数。人脸检测是一个非常复杂的问题,只有很少的方法可以完成这项工作。例如,OpenCV实现了Viola&Jones人脸检测算法,该算法被认为是最好的人脸检测算法之一。其他一些实现使用神经网络等。 复杂的 场景并不像看上去那么简单。我担心使用面部颜色信息不足以得到稳定的结果。有一些论文提出了这样的技术,但算法工作的条件大多是有限的(例如,每幅图像只有一张脸或非常简单的背景)。 |