IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 模板匹配中级篇,Halcon实战项目讲解一,基于相关性。 -> 正文阅读

[人工智能]模板匹配中级篇,Halcon实战项目讲解一,基于相关性。

模板匹配中级篇,Halcon实战项目讲解一,基于相关性。
相关性匹配:
优点:不受光照和变焦的影响
缺点:单一模板受大小,遮挡等多种情况影响
实际程序:
在这里插入图片描述

程序:

  • Image Acquisition 02: Code generated by Image Acquisition 02
    read_image (Image, ‘D:/shijue/fangshuidai/dongfangyuhonhg2/Image_20211210164409323.bmp’)
    rgb1_to_gray (Image, GrayImage)
    gen_rectangle1 (ROI_0, 836.493, 836.702, 1475.59, 1658.43)
    reduce_domain (GrayImage, ROI_0, ImageReduced)
    create_ncc_model (ImageReduced, ‘auto’, rad(0), rad(360), ‘auto’, ‘use_polarity’, ModelID)
    area_center (ImageReduced, ModelRegionArea, RefRow, RefColumn)
    list_files (‘D:/shijue/fangshuidai/dongfangyuhonhg2’, [‘files’,‘follow_links’], ImageFiles)
    tuple_regexp_select (ImageFiles, [’\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima|hobj)$’,‘ignore_case’], ImageFiles)
    for Index := 0 to |ImageFiles| - 1 by 1
    read_image (Image1, ImageFiles[Index])
    rgb1_to_gray (Image1, GrayImage1)
    • Image Acquisition 03: Do something
      find_ncc_model (GrayImage1,ModelID , rad(0), rad(360), 0.5, 1, 0.5, ‘true’, 0, Row, Column, Angle, Score)
      if (Score>0)
      vector_angle_to_rigid (RefRow, RefColumn, 0, Row, Column,Angle, HomMat2D1)
      affine_trans_region (ROI_0, RegionAffineTrans, HomMat2D1, ‘nearest_neighbor’)
      dev_display (Image1)
      gen_cross_contour_xld (Cross, Row, Column, 150, 0.785398)
      dev_display_ncc_matching_results (ModelID, ‘green’, Row, Column, Angle, 0)
      endif
      endfor
      单步讲解:
      read_image (Image, ‘D:/shijue/fangshuidai/dongfangyuhonhg2/Image_20211210164409323.bmp’)
      //读取我们进行模板建立多的图片。应该使用具有代表性的图片。
      rgb1_to_gray (Image, GrayImage)
      //将图片转化为灰度图片。由于这次读取的模板为基于灰度值的相关性模板,所以所建立的模板和被匹配的模板只能为灰度图片
      gen_rectangle1 (ROI_0, 836.493, 836.702, 1475.59, 1658.43)
      //绘制ROI区域,我们在绘制ROI区域的时候可以直接选取最为特征的区域例如。
      //我要寻找产品的中心点
      //可以这样子画
      在这里插入图片描述

或者
在这里插入图片描述

//都是可以的,但是一定要记住要选取具有特征的地方
reduce_domain (GrayImage, ROI_0, ImageReduced)
//对图像进行裁剪
create_ncc_model (ImageReduced, ‘auto’, rad(0), rad(360), ‘auto’, ‘use_polarity’, ModelID)
//创建模板。ImageReduced:来源图片。‘auto’:金字塔层数。rad(0):最小匹配角度。rad(360):最大匹配角度。‘auto’:旋转角度的步长。‘use_polarity’:匹配方法。ModelID:模板句柄。
area_center (ImageReduced, ModelRegionArea, RefRow, RefColumn)
//读取坐标,方便输出
list_files (‘D:/shijue/fangshuidai/dongfangyuhonhg2’, [‘files’,‘follow_links’], ImageFiles)
tuple_regexp_select (ImageFiles, [’\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima|hobj)$’,‘ignore_case’], ImageFiles)
for Index := 0 to |ImageFiles| - 1 by 1
read_image (Image1, ImageFiles[Index])
//读取文件夹的图片
rgb1_to_gray (Image1, GrayImage1)
//将图片转化为灰度图片
find_ncc_model (GrayImage1,ModelID , rad(0), rad(360), 0.5, 1, 0.5, ‘true’, 0, Row, Column, Angle, Score)
//使用模板进行匹配。GrayImage1:输入图片。ModelID:模板句柄。rad(0):最小角度。rad(360):最大角度。0.5:匹配的精度。1:匹配个数。0.5:最大重叠度。‘true’:是否采用亚像素精度。Row, Column, Angle:输出的横纵坐标和角度。Score:匹配精度分数
if (Score>0)
//防止没有匹配到的图片导致halcon报错。如果没有匹配图片则Score会输出为0即为空值。
vector_angle_to_rigid (RefRow, RefColumn, 0, Row, Column,Angle, HomMat2D1)
affine_trans_region (ROI_0, RegionAffineTrans, HomMat2D1, ‘nearest_neighbor’)
//进行仿射变换显示
dev_display (Image1)
gen_cross_contour_xld (Cross, Row, Column, 150, 0.785398)
//显示中心点
dev_display_ncc_matching_results (ModelID, ‘green’, Row, Column, Angle, 0)
//显示匹配矩形
Endif
在这里插入图片描述

endfor
总结:对于模板匹配的相关性匹配而言,他的匹配是基于图像的大小像素的灰度值。意思就是如果我的模板是2020cm的,匹配样板是3030的即使我们看的是一样的仍然不能匹配。对于一张图片而言如果所得的图片有所遮挡到我们预先模板的区域也是不能正常识别的。
模板匹配比较常用于各类的定位项目,和其他项目的预处理。
对于模板匹配而言我们不一定要使用ROI区域可以直接使用blob分析,但是原则都是将我们需要建立模板的图像进行抠图。
这类型图像仍然可以识别
在这里插入图片描述

像这类图像均不行:(其余均可)
在这里插入图片描述

//有遮挡
在这里插入图片描述

//大小不同
在这里插入图片描述

//重叠有遮挡

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-02-09 20:42:12  更:2022-02-09 20:44:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 19:22:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码