怎么选择网站开发,英文网站建设用途,网站版面设计流程包括哪些,西充移动网站建设微信公众号“Dotnet讲堂”的文章《c#实现模板匹配#xff0c;并输出匹配坐标》#xff08;参考文献1#xff09;中介绍了采用OpenCVSharp库实现模板匹配功能#xff0c;也即在目标图片中定位指定图片内容的示例#xff0c;本文参照参考文献1-4#xff0c;学习并测试OpenC… 微信公众号“Dotnet讲堂”的文章《c#实现模板匹配并输出匹配坐标》参考文献1中介绍了采用OpenCVSharp库实现模板匹配功能也即在目标图片中定位指定图片内容的示例本文参照参考文献1-4学习并测试OpenCVSharp库的模板匹配功能. 新建Winform项目在NuGet管理器中添加OpenCVSharp包引用由于参考文献1中并未说明OpenCVSharp库最开始安装的下图中第一个包但测试时并没有找到Cv2类于是又重新安装了包OpenCvSharp4此时NuGet包才安装正确。 根据参考文献2中的介绍不同的操作系统需安装的包不同主要分为以下几种情形。如果是引用程序集方式则需在参考文献6中下载相应的dll文件。除此之外OpenCvSharp不支持Unity和Xamarin平台也不支持CUDA详细说明见参考文献2。 1Windows (UWP除外UWP的介绍见参考文献5)需安装包OpenCvSharp4和OpenCvSharp4.runtime.win也可以单独安装包OpenCvSharp4.Windows本文选择了前者 2UWP需安装包OpenCvSharp4和OpenCvSharp4.runtime.uwp 3Ubuntu 20.04需安装包OpenCvSharp4和OpenCvSharp4.runtime.ubuntu.20.04.x64。 模板匹配功能主要使用以下类及方法 1采用Mat类保存图片内容、匹配结果等信息 2调用Cv2中的MatchTemplate函数计算源图形和目标图形的proximity mapBing给出的翻译为临近图但是百度搜索临近图没有找到多少有用内容函数原型如下所示 3调用Cv2中的MinMaxLoc函数返回MatchTemplate函数计算结果中的最大/最小值及对应位置参考文献1中使用返回的最大值判断是否匹配成功搞不懂原理但感觉类似相似度的用法。函数原型如下 参考文献2中还提到Mat等类中使用了非托管资源需要手工调用Dispose函数释放资源使用,、-、*等操作符创建的对象也需要手工释放。对此有两种方式解决 1创建对象时使用using标识对象需释放即采用using var a new Object类似的形式 2OpenCvSharp库提供ResourcesTracker类使用该类提供的创建函数新建的对象在ResourcesTracker类对象实例释放时会一起释放资源。特此将参考文献1中的示例代码修改为使用ResourcesTracker类的形式代码如下所示 using (var t new ResourcesTracker()){Mat srcImage t.T(new Mat(picSrcImage.Tag.ToString(), ImreadModes.Color));Mat templateImage t.T(new Mat(picDest.Tag.ToString(), ImreadModes.Color));Mat result t.NewMat();Cv2.MatchTemplate(srcImage, templateImage, result, TemplateMatchModes.CCoeffNormed);double minVal 0;double maxVal 0;OpenCvSharp.Point minLoc new OpenCvSharp.Point();OpenCvSharp.Point maxLoc new OpenCvSharp.Point();Cv2.MinMaxLoc(result, out minVal, out maxVal, out minLoc, out maxLoc);if (maxVal 0.8){Cv2.Rectangle(srcImage, maxLoc, new OpenCvSharp.Point(maxLoc.X templateImage.Width, maxLoc.Y templateImage.Height), Scalar.Red, 2);t.T(new Window(匹配结果, srcImage));Cv2.WaitKey();}}最后是测试程序运行效果如下图所示 参考文献 [1]https://blog.csdn.net/sD7O95O/article/details/132725989 [2]https://github.com/shimat/opencvsharp [3]https://github.com/shimat/opencvsharp_samples/ [4]http://shimat.github.io/opencvsharp/api/OpenCvSharp.html [5]https://baike.baidu.com/item/Universal%20Windows%20Platform/23796796?fromtitleuwpfromid4236943fraladdin [6]https://github.com/shimat/opencvsharp/releases