ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

halcon-create_ncc_model创建NCC模板

2022-03-25 06:31:08  阅读:306  来源: 互联网

标签:-- create hv halcon 步长 参数 ho 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为空

 

 

 

 

标签:--,create,hv,halcon,步长,参数,ho,NCC,模板
来源: https://www.cnblogs.com/liming19680104/p/16052911.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有