硬件之相机选型

news2024/11/17 16:28:18

1. 相机成像原理

        相机成像原理如图所示:
在这里插入图片描述
注:

  1. 当物距为无穷远时,像距等于焦距,成像在焦平面上;
  2. 当物距为无穷无与两倍焦距之间时,像距在焦距与两倍焦距之间,成缩小的实像;
  3. 当物距等于两倍焦距时,像距与物距相等,此时物像等大;
  4. 当物距小于两倍焦距并大于焦距时,像距大于两倍焦距,成放大的实像;
  5. 当物距等于焦距时,像距为无穷大,物上的光线经透镜后为平行光线,不成像;
  6. 当物距小于焦距时,像距为负值,即在物的同侧成虚像。

2. 相机参数说明

2.1 感光芯片

  1. 快门(控制曝光时间)
            常见的电子快门的方式有全局快门(Global shutter)和卷帘快门(rolling shutter)两种,
    全局快门是曝光时,传感器上所有像素在同一时刻开启曝光并在同一时刻曝光结束,将物体某时刻的状态成像,对运动物体而言类似将运动物体冻结了,所以适合拍摄高速运动的物体。卷帘快门是逐行顺序开启曝光,不同行间曝光的开启时刻有个很小的延迟,所以不适合运动物体的拍摄,包括飞拍。
            如果相机的曝光时间过长,就会使速度快的运动物体变模糊。对于运动物体来说,快门时间越短,所获取的图像越精确,即越不模糊,但过短的曝光时间会需要光照强度大大提高,给光照技术带来很大的困难,所以应选择合适的快门时间。

  2. 曝光
            工业相机工作过程中曝光(Exposure)是图像传感器进行感光的过程。在曝光过程中,CCD/CMOS收集光子并转换成电荷,也就是电荷的积累。曝光时间是指相机从快门打开到关闭的时间间隔,曝光时间短,电荷积累的就少;曝光结束后,CCD/CMOS通过一定的方式将电荷移出,从光曝光对照片质量的影响很大,如果曝光过度,则照片过亮,失去图像细节;如果曝光不足,则照片过暗,同样会失去图像细节。控制曝光就是控制总的光通量,也就是曝光过程中到达CCD/CMOS表面的光子的总和。 在不过曝的前提下,增加曝光时间可以增加信噪比,使图像清晰。当然,对于很弱的信号,曝光也不能无限增加,因为随着曝光时间的增加,噪音也会积累, 曝光补偿就是增加拍摄时的曝光量。总之,曝光即曝光时间控制,控制感光元件上总的光通量。曝光越大,光通量越大。
    影响曝光的因素有三个:
    ①光圈。快门速度和光圈大小是互补的。比如,为了获得合适的亮度,需要对两者进行联动调节,可采用高速快门配合大光圈以得到一定亮度,同样也可采用低速快门配合小光圈来获得同样的亮度。
    ②光圈控制光线进入的通路的大小,光圈越大,则单位时间的光通量越大,光圈越小,则单位时间的光通量越小。
    ③曝光时间。也就是快门速度。

  3. 增益
            增益一般只是在信号弱,但不想增加曝光时间的情况下使用,一般相机增益都产生很大噪音。曝光时间短,CCD/CMOS上电荷的积累就少,这时候就需要增益加强;反之,增益要减弱。
    总结:增益控制感光灵敏度,高增益代表高灵敏度,对低光照越灵敏,可以增加昏暗图像的亮度和对比度,提高成像质量。但同时也会对噪声进行发大,降低信噪比。
    在这里插入图片描述

  4. 感光芯片类型:CCD芯片和CMOS芯片
            CCD(电荷耦合器件)芯片和CMOS(互补金属氧化物半导体)芯片都将光信号(光子)转换成电子信号(电子)。这两种芯片的主要差异在于其底层技术设置。
            如果拍摄目标是静态不动的,为了节约成本,可使用考虑CMOS相机,而如果目标是运动的,则优先考虑CCD相机。如果是需要高速采集的,这里指的高速是很高的采集速度,而非指很高的运动速度,可以考虑CMOS相机,因为CMOS的采集速度会优于CCD。如果需要高质量的图像,如进行尺寸测量,可以考虑CCD,在小尺寸的传感器里,CCD的成像质量还是要优于CMOS的。

  5. 感光芯片尺寸(靶面尺寸)
           描述放大倍率及镜头像面尺寸时,都会涉及到工业相机芯片,通常相机厂商用英寸来计量相机芯片尺寸,但在实际计算过程中,我们需要将芯片各边长度的单位换算成mm
           因为同样标注的靶面大小,长宽比也可能会不一样,所以我们在看到相机靶面型号时,需要手动计算一下靶面的宽高:
    在这里插入图片描述
           

  6. 分辨率
            相机的传感器sensor是有许多像素点按照矩阵的形式排列而成,分辨率就是以水平方向和垂直方向的像素来表示的。分辨率越高,成像后的图像像素数就越高,图像就越清晰。
            例如:一个相机的分辨率是1280(H) × 1024(V),表示每行的像元数量是1280,每列的像元数量是1024,此相机的分辨率是130万像素。在对同样大小的视场成像时,分辨率越高,对细节的展示越明显。常用的工业面阵相机分辨率有:
            640 *480 —— 30万像素;1280 *960 —— 130万像素;1440 *1080 —— 160万像素;
            1600 *1200 —— 200万像素;1920 *1080 —— 300万像素;2590 *1940 —— 500万像素等。
            对于线阵相机而言,分辨率就是传感器水平方向上的像素数,常见有1K、2K、6K等。
            在相机分辨率的选型上,要根据我们的项目需求而定,并不一定是分辨率越高就越好,分辨率高带来的图像数据量就大,后期的算法处理复杂度就高,而且一般分辨率大的相机,帧率一般都不会太高。

  7. 像元/像素尺寸:像元尺寸就是每个像素的面积。单个像素面积小,单位面积内的像素数量多,相机的分辨率增加,有利于对细小缺陷的检测和增大检测视场。随着像素面积的缩小,满阱能力(每个像素能够储存的电荷数量)也随之减小,造成相机动态范围的降低。
    像元尺寸 = 感光器芯片尺寸 / 像素个数(分辨率)。例如,相机感光芯片尺寸为:5 mm x 3.7 mm,分辨率为1440 px * 1080 px,则相机的像元尺寸为(5/1440) x (3.7/1080)mm = 3.45 µm x 3.45 µm。

  8. 帧率
            帧率是用于测量显示帧数的量度。所谓的测量单位为每秒显示帧数,简称:FPS或“赫兹”(Hz) 。相机的帧率决定着设备的测量效率,如相机的帧率是30FPS,则每秒钟最多拍摄30次。而如果相机的速度是120FPS,如果算法够快,那么每秒钟最多检测120个产品。换句话说也就是相机的帧率影响相机拍照出图的快慢,飞拍高速运行,一般需要高帧率相机。

2.2 相机数据

  1. 相机常用接口
    GIGE千兆网接口(√):
    千兆网接口的工业相机,是近几年市场应用的重点。使用方便,连接到千兆网卡上,即能正常工作。设置好巨型帧参数,可以达到更理想的效果。可多台同时使用,CPU占用率小。
    USB3.0接口(√): 速度快但距离短,理论速度极限大约为500MB/s,但是其传输距离短,超过3米就要用质量很高的线,超过5米,基本就不能使用了。
    USB2.0接口: 这个优点也就是成本低了,但是速度慢而且不稳定。之前用过2.0接口的相机,在Linux下运动拍摄时,没有规律的就断了,驱动和软件都检查了挺长时间, 后来猜测是端口供电和传输限制之类的问题,果然换个新配的电脑就没问题了。而且也听专业人士说过2.0相机的稳定性问题,静态拍摄应该会好一点。
    Camera Link接口: 速度超快,大约是USB3.0的两倍,而且高像素下支持的帧率更快,但是要额外购买图像采集卡,基本要1w左右,成本是个问题。

  2. 像素位深/深度
    像素深度是指每个像素用多少比特位表示。通常,每个像素的比特位数多,表达图像细节的能力强,这个像素的颜色值更加丰富、分的更细,颜色深度就更深。一般像素深度有1位、8位、16位、24位和32位。
    1位像素深度就是有二进制来表示,也叫单色显示。
    8位像素深度是最常见的,用8个二进制位来表示颜色,能表示256种颜色,这种就是常说的灰度显示。
    16位是用16个二进制位来表示,能表示65536种颜色,这时就可以彩色显示啦。
    24位和31位则表达的颜色信息就会更加的丰富。
    分辨率和像素深度共同决定了图像的内参大小。例如,对于像素深度为8bit的500万像素,则整张图片应该有500万*8/1024/1024=37M(1024bit=1KB,1024KB=1M)。增加像素深度可以增强测量的精度,但同时也降低了系统的速度,并且提高了系统集成的难度(线缆增加,尺寸变大等)。

  3. 和镜头的接口:在选型时一定要考虑相机与镜头的接口对应问题,相机与镜头的接口必须保证一致,不然就无法安装。C型接口的后截距为17.5mm,CS型接口的后截距为12.5mm。因此CS型接口的工业相机使用C口镜头时需要加一个5mm的接圈。C型接口的工业相机不能用CS口的镜头。
    F接口镜头是尼康镜头的接口标准,所以又称尼康口,也是工业工业相机中常用的类型,一般工业相机靶面大于1英寸时需用F口的镜头。
    V接口镜头是著名的专业镜头品牌Schneider(施奈德)镜头所主要使用的标准,一般也用于工业相机靶面较大或特殊用途的镜头。

  4. 白平衡:平衡RGB三个通道的亮度值,使图像达到一个比较好的亮度情况,当打光不太好的时候,使用白平衡,可以改善图像亮度不均匀情况,对应halcon算子是equ_hiso_image——直方图均衡化

  5. 拖影:拍摄运动图像时,同一物体,在图片上重复成像的现象。
    在这里插入图片描述
    如何计算曝光时间,保证运动物体不产生拖影:
    在拍摄高速运动物体的场合,选择帧曝光的相机后,还需要计算相机的曝光时间,以使图像不产生拖影,理论的计算原则是:运动物体在相机芯片上所成的像,在曝光时间内,移动的距离不超过一个像元尺寸。
           
    例如:物体运动速度是150mm/s,沿芯片水平方向运动,相机是1/2”芯片(6.4mm×4.8mm),分辨率为1280*1024
           视场水平方向长度是20mm,像元尺寸是4.8μm,计算成像时不产生拖影的曝光时间。
           首先计算出像的运动速度,放大倍数为6.4mm/20mm=0.32,所以像的运动速度是0.32×150 mm/s=48mm/s;
           根据计算原则,(曝光时间)×48mm/s=4.8μm,所以曝光时间为0.0001s,曝光时间设置为100µs即可。

  6. 相机的触发方式:包括连续采集模式,软件触发(软件控制)、硬件触发(传感器/机械开关控制)。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端项目打包使用nginx本地服务器运行

1.下载安装nginx nginx: 下载nginx 中文网提供nginx中文文档nginx下载等内容https://nginx.p2hp.com/en/download.html 稳定版就可以,下载完后将下载的压缩包解压 2.修改配置文件 主要修改端口,以及项目所在文件夹,直接放html下就行 server …

基于Java SSM框架实现在线教育资源管理系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架在线教育资源管理系统演示 摘要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线教育资源管理系统,主要的模块包括管理员;个人中心、学生管理、教师管…

【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍

Java技术体系方向-JVM虚拟机参数调优原理 内容简介栈上分配与逃逸分析逃逸分析(Escape Analysis)栈上分配基本思想使用场景线程私有对象 虚拟机内存逻辑图JVM内存分配源码:代码总体逻辑 在某些场景使用栈上分配设置JVM运行参数:开启逃逸模式,…

CMS如何调优

业务JVM频繁Full GC如何排查 原则是先止损,再排查。 FGC的原因是对象晋升失败或者并发模式失败,原因都是老年代放不下晋升的对象了。 1.可能是大对象导致的内存泄漏。快速排查方法:观察数据库网络IO是否和FGC时间点吻合,找到对应…

自由落体(C语言刷题)

专栏(刷题):https://blog.csdn.net/2301_79293429/category_12545690.html 这一题直接给我梦回高中😶‍🌫️ //题目理解:小车开始运动的时候小球都开始下落, // 需要知道下落到 小车顶部的时间 和 落地的时间&#xf…

ZXing开源库生成二维码

引言 二维码(QR Code)作为一种快速、高容量、高密度的矩阵条码,已经在各行各业得到广泛应用。ZXing(Zebra Crossing)是一款由Google开源的Java二维码生成和解析库,提供了丰富的功能和易于使用的API。本篇博…

关于一个QT程序的简单破解思路(不需要分析信号和槽的方法,通用所有程序的破解思路)

几年前,公司买了台国产贴片机,里面的主程序是QT编写,运行在WINDOW XP系统上。主程序打开的界面,如图: 我来简单介绍下程序界面,各位读者不需要搞明白功能,只要知道大体的流程即可。 分析主界面: 一、左边的列表: 贴片生产文件,里面包括了贴片时元器件的坐标、飞达…

GPT5?OpenAI 创始人:GPT5 已在训练中,需要更多数据

OpenAI 最近发出征集大规模数据集的呼吁,特别是“今天在互联网上尚未公开轻松获取”的数据集,尤其是长篇写作或任何格式的对话。 GPT-5丨AI浪潮席卷全球,OpenAI 推出GPT-4 后,又于上月26日宣布今年9月、10月将推出GPT-4.5&#xf…

【openlayers】移动视角适应所有点

移动视角适应所有点 连接 chatgpt 代码 // 创建一个地图 var map new ol.Map({target: map, // 指定地图容器的IDlayers: [// 添加你的地图图层// 例如:new ol.layer.Tile({ source: new ol.source.OSM() })],view: new ol.View({center: [0, 0], // 地图初始中…

Java中的HTTPS通信

在Java中实现HTTPS通信,主要涉及到SSL/TLS协议的使用,用于提供数据传输的安全性。下面我们将深入探讨如何使用Java进行HTTPS通信。 一、基本概念 HTTPS,全称为Hypertext Transfer Protocol Secure,是HTTP的安全版本。它使用SSL/…

【JavaEE进阶】 MyBatis使用注解实现增删改查

文章目录 🍃前言🌴传递参数🎋增(Insert)🚩返回主键 🎄删(Delete)🌲改(Update)🌳查(Select)🚩起别名🚩结果映射🚩开启驼峰命名(推荐使用) ⭕总结 &#x1f343…

代课老师是劳务派遣吗

劳务派遣是一种特殊的用工形式,指由劳务派遣机构与派遣劳工签订劳动合同,并支付报酬,把劳动者派向其他用工单位,再由其用工单位向派遣机构支付一笔服务费用的一种用工形式。也就是说,劳务派遣的员工和实际工作的单位没…

谁能做智驾?国内电动车新王者诞生在望

书接上回,我来告诉你们,近来国内科技巨头华为和比亚迪之间,在电动车智能化领域也快开打起来了!你们心里一定有一个问题—这两家公司到底是为什么要较量呢?难道仅仅是想比比看谁技术更强?还是产品谁能卖的更好?其实,…

【Linux】文件周边001之系统文件IO

👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》《算法》 🌝每一个不曾起舞的日子,都是对生命的辜负 目录 前言 1.C语言文件IO 1.1…

HCIP网络类型+串线+GRE

一.网络类型: 点到点 BMA:广播型多路访问 -- 在一个MA网络中同时存在广播(泛洪)机制 NBMA:非广播型多路访问 -- 在一个MA网络中,没有泛洪机制-----不怎么使用了 MA:多路访问 -- 在一个…

手机App防沉迷系统 - 华为OD统一考试

OD统一考试(C卷) 分值: 100分 题解: Java / Python / C 题目描述 智能手机方便了我们生活的同时,也侵占了我们不少的时间。“手机Ap防沉迷系统” 能够让我们每天合理的规划手机App使用时间,在正确的时间做…

Redis - redis.windows.conf配置文件及RDB和AOF数据持久化方案

Redis - redis.windows.conf配置文件及RDB和AOF数据持久化方案 Redis的高性能是由于其将所有数据都存储在了内存中,为了使Redis在重启之后仍能保证数据不丢失,需要将数据从内存中同步到硬盘中,这一过程就是持久化。 Redis支持两种方式的持久化…

Vue3 Suspense 优雅地处理异步组件加载

✨ 专栏介绍 在当今Web开发领域中,构建交互性强、可复用且易于维护的用户界面是至关重要的。而Vue.js作为一款现代化且流行的JavaScript框架,正是为了满足这些需求而诞生。它采用了MVVM架构模式,并通过数据驱动和组件化的方式,使…

[Linux]HTTP状态响应码和示例

1xx:信息响应类,表示接收到请求并且继续处理 2xx:处理成功响应类,表示动作被成功接收、理解和接受 3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理 4xx:客户端错误&#x…

[笔记]Spring AOP

Spring AOP(Aspect Oriented Programming) AOP将应用程序分为核心业务和非核心的公共功能,AOP的关注点是系统中的非核心的公共功能; AOP可以通过预编译或者运行期动态代理的方式,为横跨多个对象(没有继承关…