【发布时间】:2012-02-21 20:08:06
【问题描述】:
先生,
我是 Emgu CV 的新手。我正在制作人脸识别软件。我能够使用 HaarCascade xml 分类器检测人脸。但我坚持下一步如何识别人脸。请告诉我如何使用 MatchTemplate 函数...
我在网上找到了这段代码
Image<Gray, Byte> templateImage = new Image<Gray, Byte>(bmpSnip);
Image<Gray, float> resultImage = sourceImage.MatchTemplate(templateImage,Emgu.CV.CvEnum.TM_TYPE.CV_TM_CCOEFF_NORMED);
float[,,] matches = resultImage.Data;
for (int x = 0; x < matches.GetLength(1); x++)
{
for (int y = 0; y < matches.GetLength(0); y++)
{
double matchScore = matches[y, x, 0];
if (matchScore > 0.75)
{
Rectangle rect = new Rectangle(new Point(x,y), new Size(1, 1));
imgSource.Draw(rect, new Bgr(Color.Blue), 1);
}
}
我没看懂这段代码……首先这段代码不起作用……其次,如果有人知道如何正确执行……请发布代码.....
【问题讨论】:
-
你试过什么?你在谷歌上找到了什么,你有什么源代码供人们查看?一个快速的谷歌显示了很多关于使用模板匹配的点击以及关于人们遇到的问题的问题。
-
有些链接说我们必须使用Eigen faces...有些说我们可以直接使用MatchTemplate函数。如果您发布有关使用MatchTemplate()的代码并识别将非常有帮助脸……
标签: c# opencv emgucv opencvdotnet