gpt4 book ai didi

c# - 检测面部眉毛 [EMGU CV/Open CV/C#]

转载 作者:太空宇宙 更新时间:2023-11-03 22:06:55 25 4
gpt4 key购买 nike

我对 Emgu CV 很陌生,我已经完全测试了大部分代码,例如 Hough Lines/Canny Edge detection 和 google 论文,但我仍然不知所措。

这是我做的

1) 使用 HaarCascading 检测正面2) 打断人脸的特定区域(以防止误报和节省CPU功率),并在指定区域检测眼睛、 Nose 、嘴巴。

我想做的也是检测眉毛。我找不到眉毛的 HaarCascades,我可以在上面附加一个特定区域,以扫描眉毛。我已经测试了 Hough Lines 和 Canny Edge,但我无法让它检测到眉毛(它正在检测我脸上的其他部分作为线条)。

Gray cannyThreshold = new Gray(255);

Gray cannyThresholdLinking = new Gray(0);

Image<Gray, Byte> gray = grayFrame.Convert<Gray, Byte>().PyrDown().PyrUp();

Image<Gray, Byte> cannyEdges = gray.Canny(cannyThreshold, cannyThresholdLinking);

            LineSegment2D[] lines = cannyEdges.HoughLines(
cannyThreshold,
cannyThresholdLinking,
1, //Distance resolution in pixel-related units
Math.PI / 45.0, //Angle resolution measured in radians.
1, //threshold
10, //min Line width
3 //gap between lines
)[0]; //Get the lines from the first channel
List<MCvBox2D> boxList = new List<MCvBox2D>();

foreach (LineSegment2D line in lines)
{
frame.Draw(line, new Bgr(Color.Green), 2);
}

我是 EMGU CV 的新手并且已经研究了几周的眉毛检测 - 谁能告诉我如何才能做到这一点?

将不胜感激任何帮助或建议。 :)

最佳答案

Hough Lines 和 Canny Edge 对眉毛没有任何好处,也没有用于眉毛的 Haar 检测器。您可以尝试自己制作,但这不是一个值得推荐的方法。通过检测图像中的眼睛,您已经完成了大部分工作。您现在可以采取的最佳方法是从彩色图像中获取每只眼睛上方的 ROI。然后使用颜色分析来检测眉毛。从这个 ROI 中,您应该能够从每个角落检测到皮肤的颜色。

使用此数据,您可以扫描此 ROI,任何不在阈值范围内的数据(例如 +- 10% 的值)然后您可以将其视为眉毛数据。显然,这需要一点点尝试才能发挥作用。尝试不同的图像类型(例如 HSV 方式)可提高准确性。

如果您在代码方面需要任何帮助,请告诉我,我会为您整理一个示例。我回答了一个类似的问题,关于在 opencv 中分割面部皮肤和颈部,这可能是很好的引用。 EmguCV Cut Face+Neck Skin Only And Save New Image

希望对你有帮助

干杯,

克里斯

关于c# - 检测面部眉毛 [EMGU CV/Open CV/C#],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7721206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com