• halconcreate_ncc_model创建NCC模板


    在HDevelop中

    dev_close_window ()
    
    read_image (W, 'D:/bb/tu/8.jpg')
    rgb1_to_gray (W, GrayImage)
    
    ****截取模板图像:O字母****
    gen_rectangle1 (Rectangle, 30, 378, 89, 440)
    reduce_domain (GrayImage, Rectangle, ImageReduced)
    
    ****创建模板****
    create_ncc_model(ImageReduced, 'auto', -0.2, 0.2, 0.1, 'use_polarity', ModelID)
    *创建NCC模板
    *注意:NCC匹配属于钢性匹配,不能有变形
    *参数1:单通道图像,它的区域可被创建为模板
    *参数2:金字塔的最大层级--层级越高搜索越快
    *      值列表:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'auto'
    *参数3:模板旋转的起始角度--弧度
    *参数4:模板旋转的终止角度--弧度
    *参数5:角度步长
    *       限制:角度步长>=0和角度步长<=pi/16
    *参数6:匹配标准
    *        'ignore_global_polarity'
    *        'use_polarity'
    *参数7:返回的模板句柄
    
    find_ncc_model (GrayImage, ModelID, -0.2, 0.2, 0.8, 2, 0.5, 'true', 0, Row, Column, Angle, Score)
    *NCC模板匹配
    *该模板必须是调用create_ncc_model或read_ncc_model创建的
    *注意:NCC对图像中的遮挡和杂波以及非线性照明变化非常敏感。
    *    如果应在遮挡、杂波或非线性照明变化的情况下找到模型,则应使用基于形状的匹配来执行搜索
    *参数1:输入图像--单通道图像
    *参数2:模板句柄
    *参数3:模板旋转的起始角度--弧度
    *参数4:模板旋转的终止角度--弧度
    *       参数3和参数4 跟create_ncc_model相同
    *参数5:被找到的模板最小分数--大于等于这个值才能被匹配
    *       默认值:0.8     建议值:0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0
    *       典型值范围:0≤ MinScore≤ 1
    *       最小增量:0.01            建议增量:0.05
    *参数6:要找到的模板实例数
    *参数7:要找到的模型实例的最大重叠
    *参数8:亚像素精度。  默认值:'true'      值列表:'false''true'
    *参数9:金字塔层级数
    *参数10:Row(out):被找到的模板实例行坐标
    *参数11:Column(out):被找到的模板实例列坐标
    *参数12:Angle(out):被找到的模板实例的旋转角度
    *       理解:看下面图
    *       小于1度的时候halcon会返回负值
    *参数13:Score(out):被找到的模板实例的分数
    *       如果没有匹配到  Score为空


    在QtCreator中

      HObject  ho_W, ho_GrayImage, ho_Rectangle, ho_ImageReduced;
      HTuple  hv_ModelID, hv_Row, hv_Column, hv_Angle;
      HTuple  hv_Score;
      ReadImage(&ho_W, "D:/bb/tu/8.jpg");
      Rgb1ToGray(ho_W, &ho_GrayImage);
    
      //***截取模板图像:O字母****
      GenRectangle1(&ho_Rectangle, 30, 378, 89, 440);
      ReduceDomain(ho_GrayImage, ho_Rectangle, &ho_ImageReduced);
    
      //***创建模板****
      CreateNccModel(ho_ImageReduced, "auto", -0.2, 0.2, 0.1, "use_polarity", &hv_ModelID);
      //创建NCC模板
      //注意:NCC匹配属于钢性匹配,不能有变形
      //参数1:单通道图像,它的区域可被创建为模板
      //参数2:金字塔的最大层级--层级越高搜索越快
      //     值列表:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'auto'
      //参数3:模板旋转的起始角度--弧度
      //参数4:模板旋转的终止角度--弧度
      //参数5:角度步长
      //      限制:角度步长>=0和角度步长<=pi/16
      //参数6:匹配标准
      //       'ignore_global_polarity'
      //       'use_polarity'
      //参数7:返回的模板句柄
    
      FindNccModel(ho_GrayImage, hv_ModelID, -0.2, 0.2, 0.8, 2, 0.5, "true", 0, &hv_Row, 
          &hv_Column, &hv_Angle, &hv_Score);
      //NCC模板匹配
      //该模板必须是调用create_ncc_model或read_ncc_model创建的
      //注意:NCC对图像中的遮挡和杂波以及非线性照明变化非常敏感。
      //   如果应在遮挡、杂波或非线性照明变化的情况下找到模型,则应使用基于形状的匹配来执行搜索
      //参数1:输入图像--单通道图像
      //参数2:模板句柄
      //参数3:模板旋转的起始角度--弧度
      //参数4:模板旋转的终止角度--弧度
      //      参数3和参数4 跟create_ncc_model相同
      //参数5:被找到的模板最小分数--大于等于这个值才能被匹配
      //      默认值:0.8     建议值:0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0
      //      典型值范围:0≤ MinScore≤ 1
      //      最小增量:0.01            建议增量:0.05
      //参数6:要找到的模板实例数
      //参数7:要找到的模型实例的最大重叠
      //参数8:亚像素精度。  默认值:'true'      值列表:'false'、'true'
      //参数9:金字塔层级数
      //参数10:Row(out):被找到的模板实例行坐标
      //参数11:Column(out):被找到的模板实例列坐标
      //参数12:Angle(out):被找到的模板实例的旋转角度
      //      理解:看下面图
      //      小于1度的时候halcon会返回负值
      //参数13:Score(out):被找到的模板实例的分数
      //      如果没有匹配到  Score为空

  • 相关阅读:
    HTTP协议图--概述
    HTTP协议图--HTTP 工作过程
    HTTP协议图--HTTP 协议基础
    7万网站用户行为大数据分析
    80万商城运营大数据分析
    文本挖掘之词云及个性化词云
    数据分析:某地医院药品销售业务数据分析
    示例python 批量操作excel统计销售榜品牌及销售额
    目标用户偏好指数Target Group Index分析
    linux 下部署web 程序
  • 原文地址:https://www.cnblogs.com/liming19680104/p/16052911.html
Copyright © 2020-2023  润新知