码迷,mamicode.com
首页 > 其他好文 > 详细

EmguCV Image类中的函数(四)使用MatchTemplate函数进行模板匹配

时间:2015-08-27 09:39:02      阅读:1323      评论:0      收藏:0      [点我收藏+]

标签:emgucv

MatchTemplate的函数原型为

Image<Gray, float> MatchTemplate(Image<TColor, TDepth> template, TemplateMatchingType method);

其中TemplateMatchingType 共有6种检测方式
1、平方差匹配 Sqdiff
最好匹配为0.匹配越差,匹配值越大。
2、相关匹配 Ccorr
数值越大表示匹配程度较高,0为最坏的匹配效果。
3相关匹配Ccoeff
1为完美匹配,-1表示最差的匹配,0表示没有任何相关性(随机序列).
4、标准平方差匹配SqdiffNormed
最小值表示最好的匹配
5、标准相关匹配CcorrNormed
最大值为最好匹配
6、标准相关匹配CcoeffNormed
最大值为最好匹配

原理:
通过图像块一次移动一个像素 (从左往右,从上往下)的. 在每一个位置, 都进行一次度量计算来说明图像块和原图像的特定区域的相似度。

用法如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Emgu.CV;
using Emgu.CV.CvEnum;
using Emgu.CV.Structure;
using Emgu.CV.Util;
using Emgu.Util;
using Emgu.CV.UI;

namespace EmguCVHist
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            Image<Bgr, byte> a = new Image<Bgr, byte ("738b4710b912c8fc453a8235fe039245d7882178.jpg");
            Image<Bgr, byte> b = new Image<Bgr, byte>("QQ截图20150827003943.png");
            Image<Gray, float> c = new Image<Gray, float>(a.Width, a.Height);
            c = a.MatchTemplate(b, TemplateMatchingType.CcorrNormed);
            double min=0, max=0;
            Point maxp = new Point(0, 0);
            Point minp = new Point(0, 0);
            CvInvoke.MinMaxLoc(c, ref min, ref max, ref minp, ref maxp);
            Console.WriteLine(min + " " + max);
            //CvInvoke.Normalize(c, c);
            CvInvoke.Rectangle(a, new Rectangle(maxp, new Size(b.Width, b.Height)), new MCvScalar(0, 0, 255), 3);
            imageBox1.Image = a;
        }
    }
}

效果图:中间为运行图
技术分享

版权声明:本文为博主原创文章,未经博主允许不得转载。

EmguCV Image类中的函数(四)使用MatchTemplate函数进行模板匹配

标签:emgucv

原文地址:http://blog.csdn.net/qq_22033759/article/details/48016817

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!