zoukankan      html  css  js  c++  java
  • opencv如何用模板匹配寻找目标

    首先使用:

    MatchTemplate

    比较模板和重叠的图像区域

    void cvMatchTemplate( const CvArr* image, const CvArr* templ,
                          CvArr* result, int method );
    
    image
    欲搜索的图像。它应该是单通道、8-比特或32-比特 浮点数图像
    templ
    搜索模板,不能大于输入图像,且与输入图像具有一样的数据类型
    result
    比较结果的映射图像。单通道、32-比特浮点数. 如果图像是 W×H 而 templ 是 w×h ,则 result 一定是 (W-w+1)×(H-h+1).
    method
    指定匹配方法:

    比较原图像和目标图像,然后使用:

    MinMaxLoc
    查找数组和子数组的全局最小值和最大值

    void cvMinMaxLoc( const CvArr* arr, double* min_val, double* max_val,CvPoint* min_loc=NULL, CvPoint* max_loc=NULL, const CvArr* mask=NULL );
    arr
    输入数组, 单通道或者设置了 COI 的多通道。

    min_val
    指向返回的最小值的指针。
    max_val
    指向返回的最大值的指针。
    min_loc

    指向返回的最小值的位置指针。
    max_loc
    指向返回的最大值的位置指针。
    mask

    实例:

            //进行模板匹配         cvMatchTemplate(src,templat,result,CV_TM_SQDIFF);

            //第一次查找最小值  即找到第一个最像的目标         cvMinMaxLoc(result,&minVal,&maxVal,&minLoc,&maxLoc,NULL);

            //绘制第一个查找结果到图像上         cvRectangle(show,minLoc,cvPoin(minLoc.x+templat->width,minLoc.y+templat->height),CV_RGB(0,255,0),1);

  • 相关阅读:
    ubuntu,day1基础命令,shutdown,man,touch,rm,mv,cp,stat,locale,apt,date,tzselect,cal,快捷方式,echo,查看文件
    day 7 编码
    NO.6 appium-网络设置
    NO.5 appium-滑动和点击
    NO.4 appium-定位
    NO.3 appium-退出/启动
    NO.2 appium-安装和卸载
    NO.1 appium-关于输入法
    Springboot框架搭建
    遍历Map的四种方法
  • 原文地址:https://www.cnblogs.com/hedengfeng/p/3350245.html
Copyright © 2011-2022 走看看