image - 检测人像图像中的头发颜色

标签 image opencv image-processing image-manipulation

好的,假设我已经正确地使用了检测和封装肖像图片头发的算法。

我如何(正确率很高)区分颜色?

我知道这看起来很简单,但主要问题是根据拍摄照片的环境光线条件或(较少情况)后期效果处理,一系列“金色”、“黑色”、“棕色”和“红色”变化很大,给出误报,有时没有检测到正确的。 (例如,将金发女郎当作黑人)。

使用opencv(或者其他任何工具,因为我已经有了毛),我应该应用哪种预处理算法或方法来“归一化”这类问题并最大限度地减少错误?

非常感谢。

最佳答案

我认为您可以使用机器学习方法进行颜色分类。 只需在听到颜色样本(您可以将颜色直方图作为输入向量)和一些类(颜色名称)上训练分类器(例如 SVM 或神经网络)。我认为这将是处理光线变化、噪声、阴影等的好方法。而且我认为使用一些高级色彩空间 L*a*b* 或 HSV 会更好。

您可能需要在输入向量中包含一些引用直方图(用于获取有关照明条件的数据)。例如,您可以从面部获取它(不是最佳解决方案)。

关于image - 检测人像图像中的头发颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18276305/

相关文章:

image - 在 D 中创建新的 .png 图像

c++ - 如何将 OpenCV 的输出显示或流式传输到 HTML 页面或其他一些客户端应用程序

java - 使用相机时在android中创建一个边界框

reactjs - 如何使用 React 检查文件扩展名

database - 存储图像 : DB or File System -

c++ - QT Creator 在标题中定位 OpenCV 子标题时出错

c++ - 在 ubuntu 中使用 cuda 支持构建 opencv 3.1.0 的问题

c++ - 具有自定义权重的 openCV RGB2Gray

css - ASP.NET MVC 背景图片

python - OpenCV 2.4.3 和 Python