C#中opencv的模板匹配使用

//创建原图副本
img.CopyTo(imgCopy);
//ROI区域
Rect rect = new Rect(CaptureRectangle.X, CaptureRectangle.Y, CaptureRectangle.Width, CaptureRectangle.Height);
imgTemplate = imgCopy[rect];

 

Mat imgResult = new Mat();

//查找模板
Cv2.MatchTemplate(img/*待测图*/, imgTemplate/*模板图*/,imgResult/*查询结果图*/, TemplateMatchModes.SqDiffNormed);

double minVal = 0, maxVal = 0;
OpenCvSharp.Point point1;
OpenCvSharp.Point point2;

Cv2.MinMaxLoc(imgResult, out minVal, out maxVal, out point1, out point2);

//匹配后的矩形框
Rect rect = new Rect(point1.X, point1.Y, imgTemplate.Width, imgTemplate.Height);

//画出矩形框
Cv2.Rectangle(img, rect, new Scalar(0, 255, 0, 255));
pictureBox1.Image = BitmapConverter.ToBitmap(img);

 

posted @   JIAXUN  阅读(594)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示