本文讲述了C#使用Emgu实现大图找图,并获得匹配区域!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:
主要方法如下:
/// <summary>
///
/// </summary>
/// <param name="img1">大图</param>
/// <param name="img2">小图</param>
/// <returns></returns>
public static Rectangle GetMatchPos(string img1, string img2)
{
Mat Src = CvInvoke.Imread(img1, ImreadModes.Grayscale);
Mat Template = CvInvoke.Imread(img2, ImreadModes.Grayscale);
Mat MatchResult = new Mat();//匹配结果
CvInvoke.MatchTemplate(Src, Template, MatchResult, Emgu.CV.CvEnum.TemplateMatchingType.CcorrNormed);//使用相关系数法匹配
Point max_loc = new Point();
Point min_loc = new Point();
double max = 0, min = 0;
CvInvoke.MinMaxLoc(MatchResult, ref min, ref max, ref min_loc, ref max_loc);//获得极值信息
return new Rectangle(max_loc, Template.Size);
}
C#加载emgu动态库,可以在右键引用,点击管理NuGet程序包,在新窗口中搜索 “emgu.cv”,安装即可,项目会自动引用!
更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。
想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!