首页 / C# / c#-如何在Emgu CV中执行模板匹配
c#-如何在Emgu CV中执行模板匹配
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c#-如何在Emgu CV中执行模板匹配,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1474字,纯文字阅读大概需要3分钟。
内容图文
先生,
我是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);
}
}
我不理解此代码…首先,此代码无法正常工作….其次,如果有人知道如何正确执行此操作…请发布该代码…..
解决方法:
MatchTemplate方法是专门为匹配具有定义特征的对象而设计的.一张脸,尽管您和我可能对MatchTemplate中采用的FFT方法具有定义功能,但这些定义功能根本不足以用于脸部识别. Surya是正确的,因为进行比较很有趣,我建议最好的方法是将模板面部图像的区域与相机识别出的面部进行匹配.因此,例如,您将确定眼睛的位置并将MatchTemplate应用于相同的位置,并对这些特征进行匹配以求平均值,以估计总体准确性.
但是,您固有的重大问题是执行时间.对于较大的人脸数据库,MatchTemplate不会显着减少数据集以进行实时处理.
本征识别器是一种更安全有效的方法.它比创建自己的算法更可靠,而且速度更快.请在此处查看有关如何实施的文章:
http://www.codeproject.com/Articles/261550/EMGU-Multiple-Face-Recognition-using-PCA-and-Paral
希望这可以帮助,
干杯,
克里斯
内容总结
以上是互联网集市为您收集整理的c#-如何在Emgu CV中执行模板匹配全部内容,希望文章能够帮你解决c#-如何在Emgu CV中执行模板匹配所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。