当前位置: 首页 > news >正文

机器视觉1

机器视觉是什么?

机器视觉的组成可分为硬件和软件两部分。

硬件负责成像,相当于人的“眼睛”,包括光源及光源控制器、镜头和工业相机;软件负责图像处理分析,相当于人的“视觉皮层”。具体而言,典型的机器视觉成套系统包括:

光源及光源控制器:共同为机器提供“看”的环境。合适的光源可突出目标特征,隐去无关的背景信息,进而大幅降低算法难度。

镜头:被摄物体信息采集和传递过程的起点,相当于“晶状体”。

工业相机:机器视觉中的图像采集单元,本质为将光信号转变为有序的电信号,相当于“视网膜”。工业相机对拍摄速度、图像稳定性、传输能力和抗干扰能力有较高要求。

视觉处理分析软件:通过编写合适的算法,进行图像的处理和分析,最终实现机器视觉功能目标,相当于“视觉皮层”。视觉处理分析软件通常基于PC使用,也可嵌入工业相机中,使其成为兼具图像采集、处理、通信功能的智能相机。

机器视觉软件能够做什么

具体而言,机器视觉具有识别(Identify)、测量(Gauge)、定位(Guide)、检测(Inspect)四大功能,各项功能的应用场景和实现关键在于:

识别(Identify):基于目标物的特征进行甄别,例如外形、颜色、字符、条码等,其中OCR/OCV(光学字符识别/光学字符验证)、条码识别重要的应用场景,在追踪管理和质量回溯环节可发挥重要作用。识别的关键在于高准确度和快速识别。

测量(Gauge):把获取的图像像素信息标定成常用的度量衡单位,然后在图像中精确地计算出目标物的几何尺寸,应用场景包括尺寸标注和误差测量等。机器视觉尤其擅长小尺寸、高精度以及复杂形态的测量。

定位(Guide):获得目标物体二维或三维的位置信息,进而引导生产设备(机器手、机床等)或检测设备进行精确定位或移动。定位功能的关键在于高精度和快速定位。

检测(Inspect):一般是指外观检测。检测的应用场景很多,如装配后的完整性检测(是否正确完成装配)、外观缺陷检测(是否有划痕、凹凸不平等)等。

主要功能及应用

机器视觉相比人眼视觉,具有图像采集和分析速度快、观测精度高、环境适应性强、客观性高、持续工作稳定性高等优势,因而可帮助终端使用者进行产品增质、成本降低以及生产数字化:

产品增质:

1)机器视觉可显著降低检测的漏检率和过杀率,提高生产的精度和良品率;

2)提高产品一致性;

3)在不规则、小尺寸、精细化部件的加工和检测,以及危险环境下具有更加明显的优势。

成本降低:

1)机器视觉采集和处理图像的时间在微秒级别,可显著提升效率;

2)单台系统可代替多人工作,并可7×24小时不间断工作;

3)柔性化程度高,若生产过程改变,仅需调整算法或增加部分硬件即可实现。

主流机器视觉软件介绍

主流的机器视觉软件有:侧重图像处理的图像软件包Opencv,Halcon、美国康耐视(Cogrex )的 visionpro;侧重算法的matlab,labview;侧重相机SDK开发的eVision等

visionpro

康耐视_百度百科

—-工业化、封装、人性化、评估的便捷性、开发的快速性。

—-取消了软件授权的形式,硬件授权价格在1.5万-3万不等。

—-性能上某些方面不如halcon,但是开发上手比halcon容易。

Halcon

HALCON机器视觉软件_百度百科

—-功能最强大最牛,开放性强、有试用的 license、提供超过 1000 个算子 。

—-Halcon是一套标准的机器视觉算法包,架构最灵活,具有自己独特底层的数据管理。

—-使用 halcon 开发软件,节约产品成 本,缩短开发周期,应用范围广,用到图像处理的地方,都可以使用 halcon;

—-包含了各类滤波,色彩以及几何,数学转换,型态学计算分析,校正,分类辨识,形状搜寻等等基本的几何以及影像计算功能。

1、Opencv

opencv_百度百科

—-Opencv-好处是开源免费图像处理库。缺点是没人长期维护,可靠性,效率,效果和性能不如商业化软件,而且没有技术支持,开发慢,需要自己从头开始摸索。

—-Opencv定位模板做的不好,简单的应用用用就行了。

—-主要应用于计算机视觉领域,在机器视觉领域其实不算太多,主要还是定位、测量、外观、OCR/OCV,但感觉这几项都不是opencv的专长。

—-由于是开源软件,因此其版本繁多,函数库复杂,执行效率受到应用限制,比较适用于科研和学习,不适合工业应用。

国产机器视觉软件

1.SciSmart 智能视觉软件 SciVision 视觉开发包———深圳奥普特(OPT)

Sina Visitor System

优点:做苹果手机项目(富士康),拥有数十人的软件开发及定制化应用团队,定制化开发应用能力比较强,在手机、电子等行业优势较大。

2.VisionAssembly的视觉集成包———————————-北京凌云光

优点:基于VisionAssembly的视觉集成包,包含对位、通讯、标定、结果计算等。低代码开发,中文界面。

其他视觉软件参考:

机器视觉软件介绍 - 知乎

VisonPro 软件安装

1.关闭防火墙、杀毒软件,解压软件安装包,找到安装文件,双击运行,按照安装提示“下一步”安装即可,整个过程除了依据个人需要修改安装位置外,其他不作更改。

1.打开破解工具 注意关闭vp软件后使用

C:\Program Files\Cognex\VisionPro\Images

开始使用QuickBuild

双击图标即可启动QuickBuild.

QuickBuild应用程序是VisionPro软件包的一部分,提供了一个交互式环境,可以快速创建一个视觉应用程序

QuickBuild和CogJob 关系

可以包含多个cogjob

cogjob 主要用来设置像源Image Source 然后再job中添加不同视觉工具
多个CogJob 平行执行

建立图像源Image Source

开发视觉应用程序的第一步通常都是建立一个图像源,它可以是连接到相机,可以从图像数据库开始(数据库中包含在生产环境中采集到的图像),然后修改应用程序以适应来自连接相机的图像,这非常方便。

前期不必直接连摄像机,可以从一些预

先准备好的的图片开始,测试视觉程序。熟悉之后,可以把图片源改为相 机。

打开图像数据库

  1. 双击QuickBuild窗口中的Image Source(图像源)节点。
  • 默认情况下,Image Source被配置为从图像数据库获取图像。
  • 点击选择文件来选择一个图像数据库文件。
    本例中,选中\Program Files\Cognex\VisionPro\Images目录下的coins.idb
  • 点击对话框左上角的实时显示按钮:

    确认后会打开实时显示窗口,以循环浏览图像数据库文件中所有的图像。

运行作业

此时,作业仅包含配置图像源,但你可以运行作业以查看图像在QuickBuild作业编辑器中的显示方式 目的 :切换图片 且运行检测结果

点击工具栏中的运行按钮。

  • 1.图像数据库文件中获取的图像会显示在显示区中。

  • 2.当运行工具时,工具旁边的小绿点表示它成功运行。

  • 3.当所有工具都成功运行时,作业编辑器左下角会出现一个绿点。

  • 4. 一直单击运行按钮,在待检测图片之间进行跳转

VP中的工具

1.打开vp工具

2.vp工具的列表

3.工具作用:用于实现视觉图像 各种功能的使用

4.工具是学习vp的重要内容

工具使用

PMAlignTool (模板匹配)

含义:CogPMAlign(Cognex Pattern(图案) Match(匹配) Align(排列)的缩写)

在模板图像中寻找匹配的目标物体的特征。

模板匹配流程:

添加PMAlignTool工具到作业

1.单击工具箱按钮。

添加CogPMAlignTool

一个新的CogPMAlign工具就出现在了图像源的下方。

添加像源

图像源OutputImage(输出图像)上单击,并将其拖入CogPMAlign工具的(InputImage)输入图像,以链接由图像源生成的图像至需要CogPMAlign工具分析的输入图像上

连线的基本要求

输入和输出相连

相连的数据的类型必须一致

获取训练图像

  1. 单击抓取训练图像,使得工具以当前输入图像作为训练图像

  2. 显示菜单中选中Current.TrainImage(当前训练图像)以显示抓取的训练图像 PMAlign工具会在其要分析的每个图像中搜索/寻找经过训练的模式(trained pattern,即目标图案)

  3. 单击训练区域&原点选项卡来配置训练参数。

5.从区域形状下拉菜单中选择CogRectangle。这会告诉工具,你将选择一个简单的矩形区域进行训练。 原点 和中心 分别表示以区域坐上点和中心点的位置 调整

6.点击并拖动小的训练区域矩形以包围大的圆点,告诉工具使用图像的哪一部分作为模式

7.点击中心原点按钮,将原点图标移动到矩形的中心。当工具在图像中找到特征时,它使用原点图标的相对位置来报告其位置。大多数情况下,寻找物体的中心就是你想要报道的位置。

8.点击训练参数选项卡以完成对模式的训练。

9.点击训练按钮。 经过训练的模式(图案)会出现在模式面板中,“已训练”一词会显示在工具底部。

显示训练后图像

1.在图像下拉列表中选择LastRun.InputImage。最近一次运行图像的结果会在图像框中显示。

2.点击运行按钮。

4.点击结果选项卡查看工具生成的结果。

5.结果窗格列出在图像中找到的所有特征。你可以检测每个特征的分数、位置和其他结果。
当你选中结果窗格里的一行,相应形状在显示窗格中以蓝色突出显示

工具选项卡:

训练参数

算法:

PatQuick 特点:速度最快,对于三维或者低质量原件最佳,承受更多图像差异;

PatMax 特点:精确度最高,在二维元件上表现佳,最适合于细微细节;

PatFlex 特点:为高度灵活的图案设计,在弯曲不平的表面表现较佳,及其灵活

但不够精确;

训练模式

• 图像 对图像直接进行训练
• 带图像的形状模型 适用于建模器手动建模训练 包含模型和图像
• 带转换的形状模型 适用于建模器手动建模训练 只包含模型,一般为加载模型 不常用该模式

忽略极性:

从暗到亮 是正极性 从亮到暗是 负极性
进行全局极性的忽略(不考虑明暗关系) 一般用于物体光线不稳定时

训练:

对抓取的训练图像使用算法包 进行特征匹配

抓取训练图像

选取进行特征匹配的图像

加载模式

加载原有的vpp文件

保存模式

保存现有的vpp文件

信息

图像训练状态信息

训练区域与原点:

区域形状

模板匹配图像的区域形状

所选空间名称:

使用输入图像空间,即当前输入图像的图像空间 一般基于标定的方式(工具定位,标定工具与棋盘格校准工具),建立的空间描述关系。
像素空间:像素空间与根空间相似:其原点始终在左上角;其空间与图像像素相对应;但是,像素空间并不会图像处理的效果而进行调整;很少在应用中使用

根空间:默认从左上角开始的像素空间坐标。但是如果图像处理或者再次取样了,会自动重新调整

适应图像

自适应模板匹配图形大小

中心原点

获取模板匹配图形中心位置

运行参数

查找概数

查找的结果的个数。
比如当前图像有四个待查找的图例。
Case1:设置查找数量为1个。如果四个结果的分数都相等,那么会显示4个结果
Case2:设置查找数量为3个。那么会按照查找分数的从大到小,显示排列前3个的结果

接受阈值

结果选项中 分数 低于阈值的不显示结果

超时

图像匹配时间超过 指定时间 终止匹配

计分时考虑杂斑

勾选后,匹配特征时计算考虑杂斑因素,将会导致结果选项中 分数变低

角度

匹配特征时 角度范围

缩放

匹配特征时 缩放范围

xy重叠

如果匹配物体有重合部分 取值范围0-1 数值越大 越能匹配重合部分

对比度阈值

对比度阈值越低,对比敏感度越高,视觉灵敏度越高。

搜索区域

区域形状

特征阈值

图形选项卡:

主要作用体现PMAlign工具 按照边缘(图像上不同像素的区域轮廓性 具有大小和方向的矢量)特征 进行匹配计算

1.显示粗糙

2.显示精细

调运行参数

创建和训练模式是告诉PMAlign工具要寻找什么东西。而运行参数是告诉工具如何去发现它。

  1. 点击允许参数

  2. 点击角度箭头,将下限设为-45,上限设为45。
    该设置允许你选择要查找的目标的相对角度

运行整个作业

现在可以运行整个作业了。关闭CogPMAlign工具窗口,或者把它拖到一边,这样就可以看到 QuickBuild作业编辑器了。

  1. 点击Run Job Once(单次运行作业)按钮。
  2. 可以点击连续运行作业,使得QuickBuild获取图像并运行该工具,直到再次点击按钮。
  3. QuickBuild会运行整个作业:
    • 从图像数据库或相机中获取下一个图像。
    • 运行CogPMAlignTool发现图像中的下一个目标项。
    • 将结果显示在显示窗格中。

图像显示模式

图像显示模式

1. 输入图像显示

2.输入图像训练显示

4.训练图像运行后图像的结果

1、像素

像素可以看做是图像中的小方格,图像是由很多的小方格组成,这些小方格都有一个明确的位置和被分配的色彩数值,小方格颜色和位置就决定该图像所呈现出来的样子。

可以将像素视为整个图像中不可分割的单位或者是元素。不可分割的意思是它不能够再切割成更小单位抑或是元素,它是以一个单一颜色的小格存在。

像素是表示的图像的最小单位

2.灰度值

在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值,灰度范围为0-255

3.勾选忽略极性选项。极性会告诉工具,它应该考虑或忽略图案在亮背景上是暗的还是在暗背景上是亮的。由于该图案在深色背景下是浅色的,根据光线不同,耳朵在背景下可能是深色或浅色。该情况下,忽略极性是正确的做法。

特征颗粒度限制默认是自动选择 系统会自动设置粗糙精细比例值

上限为25.5 精细 不能大于 粗糙

原则上 数值越大匹配度越低

弹性影响匹配精确度 类似于范围取值 例如边缘匹配精度为20 弹性设为 1 那么就允许匹配 20.1到21的浮动值

边缘阈值灰度值之间的差值的界限 阈值越大 匹配精度越低

1.边缘阈值为10 效果

2.1.边缘阈值为80 效果

保存模式 加载模式

可以把匹配好的模板 保存为vpp本地文件 或者打开已保存的vpp本地文件

1.帮助按钮 -控制参考页

可以查看工具具体使用文档

保存打开QuickBuild和CogJob

1.查看示例作业 提供很多demo 供参考使用

掩摸训练

遮住不必要的图像特征

使用流程

1.在训练模式 :图像模式

2.点击图像掩膜编辑按钮 打开界面

1.选择不同形状的工具 并且移动形状到 遮盖区域

2.点击掩膜颜色

3.点击填充当前选项

4.点击应用

1.掩盖不必要的训练特征

1.或使用几何图形进行掩膜设置

点击属性设置几何图形位置与大小

点击填充当前选项进行 掩膜设置

1.利用橡皮擦可以清除部分掩膜效果

2.通过工具笔刷 或者其他形状

3.清除圆形轮廓 (一般用于匹配形状相同(比如硬币) 但是内部图案不一样 想要匹配成功 可以使用掩膜加清除)

总结

1.如何使用QuickBuild和CogJob

2.PMAlignTool工具操作方法

抓取图像-设置训练区域及参数-训练模板-设置允许参数-运行-参看结果

3.PMAlignTool的基本原理

图案位置搜索工具

基于边缘特征的模板而不是居于像素的模板匹配

边缘特征表示图像中不同区域间界限的轮廓线(有大小有方向)

支持图像中的特征旋转和缩放

PMAlignTool常用参数

1.算法 忽略极性 粗糙度 精细度 边缘阈值 弹性

常用参数

算法:有六种选项,分别是:PatMax,PatQuick, PatMax 与 PatQuick,

PatFlex,PatMax-高灵敏度,透视 Patmax。

PatQuick 特点:速度最快,对于三维或者低质量原件最佳,承受更多图像差异;

PatMax 特点:精确度最高,在二维元件上表现佳,最适合于细微细节;

PatFlex 特点:为高度灵活的图案设计,在弯曲不平的表面表现较佳,及其灵活

但不够精确;

PatMax-高灵敏度特点:适用于对比度很低或者视频噪音或图像变形严重的图像

透视 Patmax 特点:适用于已经透视失真的二维特征;

忽略极性从暗到亮 是正极性 从亮到暗是 负极性
进行全局极性的忽略(不考虑明暗关系) 一般用于物体光线不稳定时


xy重叠如果匹配物体有重合部分 取值范围0-1 数值越大 越能匹配重合部分

查找概数能匹配的物体个数上限

希望查找的结果个数。
如果当前图像有四个待查找的图例。
Case1:设置查找数量为1个。如果四个结果的分数都相等,那么会显示4个结果
Case2:设置查找数量为3个。那么会按照查找分数的从大到小,显示排列前3个的结果

接受阈值结果选项中 分数 低于阈值的不显示结果 一般建议 0.5

计分考虑杂斑
考虑的时候,将会导致结果选项中 分数变低


粗糙度接受阈值法结果选项中 粗糙 分数 低于阈值的不显示结果

弹性:当实例于匹配模板 有一定出入时 (例如匹配模板为30像素 弹性+5 可以匹配到30.1-35的实例) 类似于误差值 一般建议在6以内范围

自动边缘阈值:(可以适当滤除一定的边缘干扰)
低于边缘阈值的会当作物件的背景。大于阈值的才会视作物件的轮廓。(边缘对比度)
如果设置一个过小的阈值,那么会产生过多的干扰
设置一个过大的阈值,将会造成边缘轮廓的损失


特征颗粒限制
模板 边缘线段的颗粒限制

旋转角度和缩放比例
实例与模板之间 可 接受的最小和最大角度值
实例与模板之间 可 接受的最小和最大缩放比例

超时:
强制让当前搜索的任务时间限制到这个时间之内,超过就会直接结束


对比度阈值我们将刚好看不清物体时的对比度值,称为对比度阈值。对比度阈值的倒数就是视觉对比敏感度。对比度阈值越低,对比敏感度越高,视觉功能越好。

终端设置 对工具参数的管理模板

1.输入终端 工具需要的数据

2.输出终端 对结果数据的展示

1.添加其他输出终端 在工具上右键 选择添加终端

1..添加匹配结果的个数 输出终端

作业

http://www.cnnetsun.cn/news/4287310.html

相关文章:

  • agentmemory快速开始:30秒跑通,见证语义搜索的魔力
  • 浏览器端模型评估:Trunchbull与Web推理实战
  • MoneyPrinterTurbo:输入主题词,一键生成 AI 短视频成片
  • 栈与进制转换:顺序栈和链栈实现十进制转二/八/十六进制
  • Day 33:深入 UI 渲染层 — 组件、Markdown 与代码块
  • OpenCV 水下图像处理:三步去散射、调色彩、修模糊的完整教程
  • PowerToys MeasureTool完整指南:3步搞定屏幕像素级测量
  • 全栈网页灰度阶段需要验证什么
  • Sonnet 5.5大泄露对标DeepSeek?开发者选型与接入实战指南
  • 数学建模中的文本情感分析实战:TextBlob与SnowNLP核心应用
  • Windows Terminal 快速上手指南:从安装到窗格拆分,10 分钟跑通
  • 如何系统掌握提示工程:Prompt Engineering 完整指南
  • Zsh配置优秀博客跳转链接
  • 论文“去AI味”新思路:书匠策AI如何帮你抹掉“机器指纹”
  • 如何在电脑上投屏并控制安卓手机:scrcpy 免 Root 实操教程
  • Python数值方法精解:从函数求根到多曲线交点求解实战
  • Windows Terminal 版本更新实战指南:5 条渠道任选,附升级回滚排查清单
  • Linux 系统基于 VSCode 搭建开发环境
  • STM32U575/585 GPDMA使用指南:从CubeMX配置到链表实战
  • 解锁大语言模型潜能:KITE 提示词框架全解析
  • 大模型应用开发时如何调试提示词?
  • 提示工程:少样本提示(Few-shot Prompting)
  • C++进阶:从语法到工程实践,掌握对象生命周期与资源管理
  • 大模型记忆技术解析:从向量数据库到LangGraph实战
  • 一个MSI搞定:Netdata Windows监控部署实战
  • CC2530定时器中断编程:正计数与倒计数模式详解及LED控制实战
  • MiniMax H3开源视频模型本地部署与ComfyUI实战指南
  • 2026年合肥GEO优化服务商4强实力测评与企业选型参考指南
  • 老报纸怎么批量转成可检索文本?PaddleOCR 实操指南
  • 典型相关分析(CCA)在数学建模中的核心应用与Python实现