Vision Pro 零基础教程:1.机器视觉概述

文章目录

    • 机器视觉简介
    • 机器视觉的发展历史
    • 机器视觉的结构组成
    • 机器视觉的应用
    • 工业相机分类
      • 1. 按传感器类型分类:
      • 2. 按分辨率分类:
      • 3. 按扫描方式分类:
      • 4. 按输出信号类型分类:
      • 5. 按应用领域分类:
      • 6. 按接口类型分类:
        • CCD和CMOS区别
      • 工业镜头
        • 远心镜头
      • 光源
      • 图像采集卡
    • 软件
    • 总结

机器视觉简介

机器视觉是一种模拟人类视觉系统,使用机器代替人眼来进行精确测量智能判断的技术。它通过数字相机、图像处理算法和计算机系统来模拟人眼的视觉感知功能,实现对物体的识别、定位、测量和检测等任务。机器视觉系统的特点是提高生产的柔性自动化程度,在不适合人工作业的危险工作环境或人工视觉难以满足要求的场合,机器视觉展现出其独特的优势。它不仅能够提高生产效率,还能提高制造过程的精确性,从而减少成本。
在这里插入图片描述

机器视觉的发展历史

机器视觉技术是计算机学科的一个重要分支。自20世纪50年代开始研究二维图像的统计模式识别以来,机器视觉已经有超过60年的历史。随着工业自动化的发展,机器视觉的功能和应用范围逐渐完善和推广。在这个过程中,技术的进步不断推动着机器视觉向更高的精度和更广泛的应用领域发展。

  • 20世纪50年代:开始研究二维图像的统计模式识别。

  • 60年代:Roberts 开始进行三维机器视觉的研究。

  • 70年代中:MIT人工智能实验室正式开设“机器视觉”课程。
    在这里插入图片描述

  • 80年代开始:全球性的研究热潮兴起,机器视觉获得了蓬勃发展。

现在,机器视觉仍然是一个非常活跃的研究领域,与之相关的学科涉及图像处理、计算机图形学、模式识别、人工智能、人工神经元网络等。这些学科的发展为机器视觉提供了强大的理论基础和技术支持。

机器视觉的结构组成

机器视觉的工作原理是通过镜头将被测目标转化为图像信号,投射至影像接受器件(一般为CCD或CMOS元件)上,再通过计算机进行分析处理。当不同强度的光线照射在传感器表面时,传感器即发生光电效应,产生对应分布的电荷量。通过模数转换即可得到对应的数字量。这一过程涉及到多个关键组件,包括相机、镜头、光源、图像采集卡和处理软件等。在这里插入图片描述

机器视觉的应用

机器视觉的应用非常广泛,涵盖了工业商业医学军事等多个领域。在工业领域,机器视觉被用于自动化生产线上的部件安装、自动焊接、切割加工、产品检测和质量控制等。在商业领域,机器视觉可以用于自动巡视商店或其他重要场所,自动跟踪可疑的人并及时报警。在医学领域,机器视觉用于染色体切片、癌细胞切片、X射线图像、超声波图像的自动检查和诊断。在军事领域,机器视觉用于自动监视军事目标、自动发现和跟踪运动目标、自动巡航捕获目标和确定距离等。在这里插入图片描述

机器视觉在工业上主要应用有以下四点:

  1. 引导功能
    能够自动判断产品在什么位置,此功能多用于全自动装配和生产,多配合自动执行机构(机械手、焊枪、喷嘴等)。
  2. 测量功能
    也就是能够自动测量产品的外观尺寸,比如外形轮廓、孔径、高度、面积测量等。
  3. 检测功能
    可以检测如:包装正误、印刷有无错误、表面有无刮伤或颗粒、破损、有无油污、灰尘、塑料件有无穿孔、雨雾注塑不良等。
  4. 识别功能
    可以进行ID码读取及OCR/OCV字符验证与识别。

在这里插入图片描述

工业相机分类

工业相机是机器视觉系统的重要组成部分,其功能是通过CCD或CMOS成像传感器将镜头产生的光信号转变为有序的电信号,并通过相应接口传送到计算机主机。工业相机与普通相机的主要区别在于其设计用于满足工业环境的严格要求,包括高可靠性、高稳定性和高速性能。
工业相机是机器视觉系统中的关键组件,它们专为高速、高可靠性和精确的图像捕获而设计。工业相机的种类繁多,可以根据不同的标准和需求进行分类。以下是一些常见的工业相机类型:
在这里插入图片描述

1. 按传感器类型分类:

  • CCD(Charge-Coupled Device)相机:使用电荷耦合器件作为图像传感器,提供高质量的图像,尤其在低光照条件下表现良好,但成本相对较高。
  • CMOS(Complementary Metal-Oxide-Semiconductor)相机:使用互补金属氧化物半导体技术,功耗低,集成度高,成本相对较低,但可能在图像质量上略逊于CCD相机。

2. 按分辨率分类:

  • 高分辨率相机:提供高像素计数,适用于需要精细图像分析的应用,如精密测量和质量检测。
  • 标准分辨率相机:适用于大多数通用工业应用,提供合理的图像质量和帧率。
  • 低分辨率相机:适用于简单的视觉检测任务,如物体定位和存在性检测。

3. 按扫描方式分类:

  • 面阵相机:具有二维像素阵列,能够一次性捕获整个图像,适用于大多数工业视觉应用。
  • 线阵相机:只有一维像素阵列,通过机械扫描或相机移动来捕获二维图像,适用于高速或连续的生产线。

4. 按输出信号类型分类:

  • 模拟相机:输出模拟信号,需要与外部帧抓取卡配合使用。
  • 数字相机:输出数字信号,可以直接与计算机或图像处理系统集成。

5. 按应用领域分类:

  • 通用工业相机:适用于多种工业应用,如自动化检测和物体跟踪。
  • 高速相机:能够以极高的帧率捕获图像,适用于动态事件捕捉和高速运动分析。
  • 高温度相机:专为高温环境设计,如炉内检测和焊接过程监控。
  • 医疗成像相机:满足医疗行业的严格标准,用于内窥镜、X射线成像等。
  • 科研相机:用于科学研究,如显微镜成像和光谱分析。

6. 按接口类型分类:

  • GigE(Gigabit Ethernet)相机:使用以太网接口,提供高速数据传输和易于网络集成的特点。
  • Camera Link相机:提供高带宽和低延迟的数据传输,适用于要求高速和大数据量的工业应用。
  • CoaXPress相机:支持高速、长距离的图像传输,同时提供电源和数据在同一电缆上的传输。

选择合适的工业相机需要考虑应用的具体需求,包括所需的图像质量、分辨率、速度、环境条件以及预算等因素。不同的工业相机制造商提供了各种规格和功能的相机,以满足不同行业和应用的需求。

CCD和CMOS区别
  • CCD:电荷耦合器件,以其高图像质量灵敏度而闻名,尤其在低光照条件下表现优异。CCD传感器通常用于需要高质量图像的应用,如医疗成像和高端工业检测,但CCD的成像时间较长。
  • CMOS:互补金属氧化物半导体,以其低成本、低功耗和高集成度而受到青睐。CMOS传感器在消费电子产品中非常普遍,且随着技术的进步,其图像质量已经接近CCD。

工业镜头

工业镜头在机器视觉系统中扮演着核心角色,它们专门应用于工业制造,具有高鲁棒性和广泛的广角视野。工业镜头的设计要求能够在极端的工作环境下稳定工作,提供清晰的成像效果,并具有抗干涉和抗冲击的特性。

在这里插入图片描述
工业镜头的工作原理类似小孔成像原理
在这里插入图片描述

远心镜头

远心镜头是一种特殊设计的镜头,用于纠正传统镜头的视差问题,例如畸变。它可以在一定的物距范围内,使得到的图像放大倍率不会随物距的变化而变化。这对于被测物体不在同一物面上的情况是非常重要的应用,特别是在精密测量和检测领域。
径向畸变:径向畸变是沿着透镜半径方向分布的畸变,产生原因是光线在远离透镜中心的地方比靠近中心的地方更加弯曲,这种畸变在普通廉价的镜头中表现更加明显,径向畸变主要包括桶形畸变(右)和枕形畸变(左)两种。在这里插入图片描述

光源

光源作为辅助成像设备,是机器视觉系统的重要组成部分。它为机器视觉系统的图像获取提供足够的光线,其目的是将被测物体与背景尽量明显分别,获得高品质、高对比度的图像。光源的选择和设计对于图像的质量和系统的性能有着直接的影响。
在这里插入图片描述

图像采集卡

图像采集卡的主要功能是将相机中输出的模拟图像转换成数字信号,最终传至电脑中的内存中去。根据应用的不同,图像采集卡可以有不同的功能和性能,如高速度、高分辨率和高帧率等。
在这里插入图片描述

软件

机器视觉软件平台,如Vision Pro,提供了一系列的工具和算法,用于图像的采集、处理、分析和决策。这些软件平台通常包括图像处理库、视觉工具库和开发环境,使得开发者能够快速构建和部署视觉应用。
在这里插入图片描述
在这里插入图片描述

总结

机器视觉是一个跨学科的领域,它结合了计算机科学、图像处理、模式识别等多个学科的知识。通过使用机器视觉技术,我们能够实现自动化生产、质量控制、物体识别等多种应用,极大地提高了生产效率和准确性。作为一名博客大咖和编程爱好者,我将继续在本专栏中分享更多关于机器视觉的知识和实践经验,帮助大家更好地理解和应用这项技术。在接下来的教程中,我们将深入探讨Vision Pro软件的功能和应用,以及如何结合硬件组件来构建高效的机器视觉系统。

觉得文章还不错,可以点赞,关注,评论,主页有C#教程 winform SQLServer 专栏,欢迎订阅!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/553017.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

React【Day2】

React表单控制 受控绑定 概念:使用React组件的状态(useState)控制表单的状态 双向绑定 MVVM 报错记录: 错误代码: import { useState } from "react";const App () > {const [value, setValue] useS…

使用pytorch构建GAN模型的评估

本文为此系列的第六篇对GAN的评估,上一篇为Controllable GAN。文中使用训练好的分类模型的部分网络提取特征将真实分布与生成分布进行对比来评估模型的好坏,若有不懂的无监督知识点可以看本系列第一篇。 原理 一般来说,我们评估模型的好坏可…

DataGridView添加行号隔行变色

运行效果 颜色对应关系 类实现代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace WindowsFormsApp1 {…

二刷大数据(二)- Spark

目录 SparkHadoop区别核心组件运行架构Master&WorkerApplication (Driver)Executor RDD概念yarn下工作原理算子依赖血缘关系阶段划分广播变量 shuffle流程SparkSQLDataSet、DataFrame、RDD相互转换 SparkStreaming Spark Spark是一种基于内存的快速、通用、可扩展的大数据…

C# Solidworks二次开发:比较两个solidworks文档属性相关API详解

大家好,今天要讲的文章是关于如何比较两个solidworks文档。 下面是API的介绍: (1)第一个为Close,这个API的含义为在比较solidworks文档以后执行必要的清理。下面是官方的具体解释: 其没有输入参数&#x…

MySQL Workbench下载安装、 MySQL Workbench使用

官方下载链接;MySQL :: Download MySQL Workbench 下载好懒人安装,也可自己选择目录 下面是使用: 连接数据库: 填写数据库连接信息: 基本操作部分: 数据导入导出: 导出/备份 导入: 生产er图…

【机器学习】科学库使用第5篇:Matplotlib,学习目标【附代码文档】

机器学习(科学计算库)完整教程(附代码资料)主要内容讲述:机器学习(常用科学计算库的使用)基础定位、目标,机器学习概述定位,目标,学习目标,学习目标,1 人工智能应用场景,2 人工智能小…

react中关于类式组件和函数组件对props、state、ref的使用

文章中有很多蓝色字体为扩展链接&#xff0c;可以补充查看。 常用命令使用规则 组件编写方式: 1.函数式 function MyButton() { //直接return 标签体return (<>……</>); }2.类 class MyButton extends React.Component { //在render方法中&#xff0c;return…

UE5 C++ 射线检测

一.声明四个变量 FVector StartLocation;FVector ForwardVector;FVector EndLocation;FHitResult HitResult;二.起点从摄像机&#xff0c;重点为摄像机前9999m。射线检测 使用LineTraceSingleByChannel 射线直线通道检测&#xff0c;所以 void AMyCharacter::Tick(float Delt…

GPT国内能用吗

2022年11月&#xff0c;Open AI发布ChatGPT&#xff0c;ChatGPT展现了大型语模型在自然语言处理方面的惊人进步&#xff0c;其生成文本的流畅度和连贯性令人印象深刻&#xff0c;为AI应用打开了新的可能性。 ChatGPT的出现推动了AI技术在各个领域的应用&#xff0c;例如&#x…

Python学习教程(Python学习路线+Python学习视频):Python数据结构

数据结构引言&#xff1a; 数据结构是组织数据的方式&#xff0c;以便能够更好的存储和获取数据。数据结构定义数据之间的关系和对这些数据的操作方式。数据结构屏蔽了数据存储和操作的细节&#xff0c;让程序员能更好的处理业务逻辑&#xff0c;同时拥有快速的数据存储和获取方…

.net9 AOT编绎生成标准DLL,输出API函数教程-中国首创

1&#xff0c;安装VS2022预览版&#xff08;Visual Studio Preview&#xff09; https://visualstudio.microsoft.com/zh-hans/vs/preview/#download-preview 2&#xff0c;选择安装组件&#xff1a;使用C的桌面开发 和 .NET桌面开发 ------------------------------------- …

java八股文知识点讲解(个人认为讲的比较好的)

1、解决哈希冲突——链地址法&#xff1a;【第7章查找】19哈希表的查找_链地址法解决哈希冲突_哔哩哔哩_bilibili 2、解决哈希冲突——开放地址法 &#xff1a; 【第7章查找】18哈希表的查找_开放定址法解决哈希冲突_哔哩哔哩_bilibili 3、小根堆大根堆的创建&#xff1a;选择…

【每日刷题】Day17

【每日刷题】Day17 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 19. 删除链表的倒数第 N 个结点 - 力扣&#xff08;LeetCode&#xff09; 2. 162. 寻找峰值 - 力扣…

1 回归:锂电池温度预测top2 代码部分(一) Tabnet

2024 iFLYTEK A.I.开发者大赛-讯飞开放平台 TabNet&#xff1a; 模型也是我在这个比赛一个意外收获&#xff0c;这个模型在比赛之中可用。但是需要GPU资源&#xff0c;否则运行真的是太慢了。后面针对这个模型我会写出如何使用的方法策略。 比赛结束后有与其他两位选手聊天&am…

《ElementPlus 与 ElementUI 差异集合》el-popconfirm 气泡确认框之插槽写法有差异

ElementUI 直接在 el-button 上配置属性 slot&#xff1b; <el-popconfirm title"确定删除吗&#xff1f;请谨慎操作&#xff01;" confirm"delete"><el-button slot"reference" size"small" type"danger">删…

Word学习笔记之奇偶页的页眉与页码设置

1. 常用格式 在毕业论文中&#xff0c;往往有一下要求&#xff1a; 奇数页右下角显示、偶数页左下角显示奇数页眉为每章标题、偶数页眉为论文标题 2. 问题解决 2.1 前期准备 首先&#xff0c;不论时要求 1、还是要求 2&#xff0c;这里我们都要做一下设置&#xff1a; 鼠…

Adobe Firefly是否将重新定义AI视频编辑领域?|TodayAI

Adobe最近发布了一段令人瞩目的视频&#xff0c;详细展示了其最新推出的Adobe Firefly视频模型。这一模型集成了尖端的生成式人工智能技术&#xff0c;带来了一系列颠覆性的视频编辑功能&#xff0c;引发了业界的广泛关注和讨论。 视频中的旁白充满热情地宣布&#xff1a;“Ad…

【超级简单】vscode进入服务器的docker容器

前提 1、已经运行docker容器 2、已经用vscode链接服务器 在vscode中安装的插件 Dev Containers docker 在容器中安装的依赖 yum install openssh-server yum install openssh-clientsvscode进入服务器的docker容器 找到自己的容器&#xff0c;右键点击&#xff0c;找到…

Jmeter BeanShell调用Java方法加密

1、添加BeanShell前置处理器 由于请求接口时&#xff0c;会传加密参数。加密过程会在请求之前完成&#xff0c;所以需要使用前置处理器中beanshell preprocessor 2、编写BeanShell脚本 ①定义一个beashell变量&#xff1a;phoneNum&#xff0c;在Beanshell中可以直接调用Jmete…