我正在开发一个winForm c#程序,使用EmguCV库通过网络摄像头进行微笑检测。我使用一些haarcascade_smile xml文件来成功完成。 但是,在某些情况下会发生检测错误:有时将嘴形线错误地识别为嘴。
我有一个新想法,即除了原始的xml文件之外还要寻找红色以改善口腔检测,并尝试降低错误率。
有没有人知道可以用来检测红色的命令或库?
非常感谢:)
var smiles = grayframe.DetectHaarCascade(_smiles,
ScaleIncreaseRate,
MinNeighbors,
HAAR_DETECTION_TYPE.DO_CANNY_PRUNING,
new Size(WindowsSize, WindowsSize))[0];
if (smiles.Length == 0)
{
// Number of smile face detected is 0
}
else
{
}
答案 0 :(得分:0)
Bitmap.Getpixel()可以获得指定像素的颜色。
答案 1 :(得分:0)
使用Bitmap.GetPixel()
,您可以获得像素的颜色。然后,您必须确定该颜色是否被视为红色。这是一个不难解决的挑战,但可能需要一些研究。
例如,查看HTML颜色表及其代码,您已经可以确定大多数红色的以下特征:
等等,等等。您可以创建一个定义这些规则的类,并检查颜色是否被视为特定用途的红色。
由于您的目标是缩小红色范围,因此您可以更加专注于课程,并获得更精确的答案。