线阵相机学习笔记(一)

2023-05-16

1、GigE Vision

GigE Vision是由自动化影像协会AIA(Automated Imaging Association)发起指定的一种基于千兆以太网的图像传输的标准。

具有传输距离长(无中继时100米)、传输效率高并可向上升级到万兆网、通信控制方便、软硬件互换性强、可靠性高等优点,是未来数字图像领域的主要接口标准,必将被越来越多的商家多采用。

GigE Vision标准委员会的主要成员都是国际知名的图像系统软硬件提供商。

GigE Vision与标准千兆以太网相机,在硬件架构上基本完全一样(对网卡的要求有微小区别),只是在底层的驱动软件上有所区别。他主要解决标准千兆网的两个问题:

1. 数据包小而导致的传输效率低。标准千兆网的数据包为1440字节,而GigE Vision 采用所谓的“Jumbo packet”,其最大数据包可达16224字节。

2. CPU占用率过高。标准千兆网采用TCP/IP协议,在部分使用DMA控制以提高传输效率的情况下,可做到82MB/s时CPU占用率15%。GigE Vision 驱动采用UDP/IP协议,采用完全的DMA控制,大大降低了CPU的占用率,在同等配置情况下可做到108MB/s时CPU占用率为2%。 [1] 

 

2、相机帧率和曝光时间的关系

工业相机参数之帧率相关知识详解:

    工业相机是机器视觉系统的重要组成部分之一,在机器视觉系统中有着非常重要的作用。工业相机已经被广泛应用于工业生产线在线检测、智能交通,机器视觉,科研,军事科学,航天航空等众多领域。

    工业相机的主要参数包括:分辨率、帧率、像素、像元尺寸、光谱响应特性等。下面我们来对工业相机帧率的相关知识进行讲解:
    帧率(Frame rate)是用于测量显示帧数的量度。所谓的测量单位为每秒显示帧数(Frames per Second),简称:FPS或“赫兹”(Hz)。         
    由于人类眼睛的特殊生理结构,如果所看画面之帧率高于16fps的时候,就会认为是连贯的,此现象称之为视觉暂留。这也就是为什么电影胶片是一格一格拍摄出来,然后快速播放的。
    每秒的帧数(fps)或者说帧率表示图形处理器处理场时每秒钟能够更新的次数。高的帧率可以得到更流畅、更逼真的动画。一般来说30fps就是可以接受的,但是将性能提升至60fps则可以明显提升交互感和逼真感,但是一般来说超过75fps一般就不容易察觉到有明显的流畅度提升了。如果帧率超过屏幕刷新率只会浪费图形处理的能力,因为监视器不能以这么快的速度更新,这样超过刷新率的帧率就浪费掉了。
    最大帧率(Frame Rate)/行频(Line Rate):即相机采集传输图像的速率,对于面阵相机一般为每秒采集的帧数(Frames/Sec.),对于线阵相机为每秒采集的行数(Hz)。

 

相机帧率和曝光时间的关系:

      有人问,为什么我们在使用工业相机的时候,将相机的曝光时间增加以后,相机的帧率就下降,而且下降得很厉害,相机的帧率和曝光的关系是怎样,如果想要获得固定的帧率,相机的曝光时间应该怎么设置?因此写下本文,解答了朋友的问题,也使用Sentech相机来做过相关的测试,帧率和曝光时间跟本文中所述一致。详细原理见下文所示:

Exposure and Sensor Readout

相机上的图像采集过程包括两个截然不同的部分。第一部分是曝光。曝光完成后,进行第二部分Readout过程即从传感器的寄存器中读出数据并传送出去(Readout过程)。

关于图像采集过程中,相机操作有两种常见的方法:“non-overlapped”的曝光和“overlapped”的曝光。在非重叠(“non-overlapped”)模式中,每个图像采集的周期中,相机在下一个图像采集开始前,均要完成曝光/读出整个过程。如图1所示。

 

 

Fig.1 Non-overlapped Exposure

虽然非重叠(“non-overlapped”)的模式,可适合于许多情况下,但它并不是最有效的方式。为了提高相机的帧率,允许在下一帧图像开始曝光时候,将前一帧获得的图像数据读出并传送出去。相机“重叠”(“overlapped”)曝光的方式见图2所示。

从图2中我们可以看到,相机读出数据和下一帧曝光开始出现重叠的情况,在同一个时刻内,相机执行两个操作,导致在同样的单位时间内,在“overlapped”曝光模式下,可以采集到更多的图片,即相机的帧率更高。

Fig.2 overlapped Exposure

      从上边两个图中,我们可以知道在“non-overlapped”的曝光和“overlapped”的曝光模式底下,一帧图像的周期存在着这样的关系: "overlapped”的曝光模式下: FramePeriod ≤Exposure Time + ReadoutTime

“non-overlapped”的曝光模式下:FramePeriod > Exposure Time + Readout Time

以STC-A202A为例:

                                                    图1 Spec

 

从Spec中可知,其Pixel Frequency为:36.8181MHz,所以1Clock的时间为1/36.8181Mhz =27.3836ns,接下来我们看相机的Timing chart,首先先看HorizontalTiming,见图2所示:
图2 Horizontal Timing
 

从图2中,我们从中可读到的信息为,1 CLK=27.1605 nseconds,和我们从spec上得到的Pixel Frequency算出来的时间差不多。扫描1Horizontal需要1920CLK,即1H =27.1605*1920 =52148.16ns=52.14816us

接下来看相机Vertical Timing 见图3所示:

图3 Vertical Timing

从图3中,我们可读出的信息为,1H=52.1482useconds,和我们通过图2计算出来horizontal Scanning的时间一致,而在一帧图像中,需要扫描1252H,其中Effective Pixels为1220H,即1帧图像中,Effective Pixels Read out的时间为1220*52.1482 =63620.804us =63.620804ms,一个VD信号,所用的时间为:1252*52.1482=67793.5464us =67.7935464ms。按照我们前边的理论,一个cycletime内,一帧图像的时间为:Frame Period = Exposure Time +Readout Time

而我们知道STC-A202A的帧率为:15fps,即1 Frame Period =1/15 =66.7ms。

所以在“non-overlapped”exposure 模式下,ExposureTime = Frame Period – Readout Time =66.7ms -63.6ms =3.1ms,在此模式下,若是超过3.1ms的曝光时间,其帧率就会比标准帧率15fps低。

         假如1颗相机Readout Time为:66.7ms,即数据传输时间为A,A=66.7ms,曝光时间为B,B=5ms,则一帧图像的时间为C,则C=A+B=66.7ms + 5ms =71.7ms,则这颗相机的帧率为:1000/71.7 =13.94FPS,则这颗相机的帧率为13.94.

注意:一般情况下,若我们的相机的帧率为15fps,则表示相机ReadOut数据的时间为1000ms/15 =66.7ms

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

线阵相机学习笔记(一) 的相关文章

随机推荐

  • three.js加载3D模型(glb/gltf/fbx)

    three js加载3D模型 glb gltf fbx 一 理解three 1 一个可以在某个3D建模软件打开的东西 xff0c 通过某种方案在浏览器中打开 xff1b 2 不要试图手动去创建3D图形 xff0c 当然比较闲的话可以这样操作
  • 单片机复位电路原理

    单片机的复位引脚RST 全称RESET 出现2个机器周期以上的复位电平 时 xff0c 单片机就执行复位操作 如果RST持续为复位电平 xff0c 单片机就处于循环复位状态 当单片机处于正常电平时就正常转入执行程序 图1 xff1a 当单片
  • 在ubuntu下安装vmware-tools

    用vmware虚拟机安装了ubuntu之后 xff0c 为了实现更加强大的功能 xff0c 比如说直接从windows主机拖文件进入ubuntu xff0c 以及加强ubuntu的性能 xff0c 我们一般都要安装vmware tools
  • 虚拟机安装Ubantu 16.04,并修改配置文件更改网络配置

    https blog csdn net qq 41016818 article details 81211744 ops request misc 61 amp request id 61 amp biz id 61 102 amp utm
  • Ubuntu 16.04下安装visual studio code

    一 坑和解决办法 很多帖子上写的方法都是使用命令方式 xff1a 1 先安装make sudo add apt repository ppa ubuntu desktop ubuntu make sudo apt get update su
  • 虚拟机Ubuntu与外网连接

    详情可参考 xff1a https blog csdn net gaoganghua article details 80386107 ops request misc 61 257B 2522request 255Fid 2522 253
  • Xftp6如何连接虚拟机(Ubuntu)Windows与虚拟机之间传输文件

    一 安装Ubuntu ssh出现异常 Err 1 http security ubuntu com ubuntu xenial security main amd64 openssh sftp server amd64 1 7 2p2 4u
  • ubuntu下搭建ftp服务器

    1 安装vsftpd xff0c 安装命令 xff1a sudo apt get install vsftpd 查看是否安装成功 xff1a vsftpd version 2 新建一个文件夹用于FTP的工作目录 xff08 cpucard是
  • 命名空间 std 中没有名为 stoi 的成员

    我正在测试std stoi以下链接中的函数 xff1a 但我收到了错误 xff1a 已经添加了头文件 include lt string gt xff0c 但仍然错误提示 xff1a 在命名空间 std 中没有名为 stoi 的成员 xff
  • Linux+vscode 客户端通过代码操作远程服务器端数据库(MySQL)

    这篇文章解决两个问题 xff1a 1 在Linux系统下使用vscode用C C 43 开发客户端程序时 xff0c 如何调用mysql库函数 xff1b 2 客户端与远程服务器端的MySQL连接时 xff0c 需要做哪些前期准备工作 xf
  • put操作提示 No such file or directory

    https blog csdn net weixin 33875839 article details 86128344
  • IDEA导入lib目录下的jar包

    https blog csdn net u010286027 article details 85248719 ops request misc 61 amp request id 61 amp biz id 61 102 amp utm
  • MIPS、ARM、X86三大架构

    MIPS ARM X86三大架构 RISC平台的发展已经有长达几十年的历史了 其最早诞生于80年代的MIPS主机 xff0c 随着技术的不断发展 xff0c RISC平台的应用领域逐步扩展 xff0c 小到手机 xff0c 大到工控设备都可
  • 报错:Diamond types are not supported at language level ‘6‘

    在编译时报错 xff1a 这主要是1 6版本的javac exe编译器不支持菱形运算符 xff1b 解决办法 xff1a 1 修改设置settings和项目结构Project Structure中的JDK版本设置 配置IDEA编译器版本 2
  • Ubuntu18.04.3虚拟机安装步骤

    Ubuntu18 04 3虚拟机安装步骤 xff08 图文教程 xff0c 非常详细 xff01 xff01 xff01 xff09 丶无殇的博客 CSDN博客 ubuntu18虚拟机安装
  • 信号包络

    将一段时间长度的高频信号的峰值点连线 xff0c 就可以得到上方 xff08 正的 xff09 一条线和下方 xff08 负的 xff09 一条线 xff0c 这两条线就叫包络线 包络线就是反映高频信号幅度变化的曲线 对于等幅高频信号 xf
  • 归一化函数normalize详解

    opencv 2 归一化函数normalize详解 1 归一化定义与作用 归一化 就是要把需要处理的数据经过处理后 xff08 通过某种算法 xff09 限制在你需要的一定范围内 首先归一化是为了后面数据处理的方便 xff0c 其次是保证程
  • 多态性之编译期多态和运行期多态(C++版)

    多态性之编译期多态和运行期多态 C 43 43 版 C 43 43 中最为经典的就是多态性 xff0c 多态性充分体现了面向对象的思想 xff0c 并且是C 43 43 与C的最大区别之一 多态性分为编译期多态和运行期多态 xff0c 也称
  • SVM 原理详解,通俗易懂

    看了该作者的文章 xff0c 瞬间膜拜了 xff01 讲得太好了 xff01 转自 xff1a http www blogjava net zhenandaci category 31868 html xff08 一 xff09 SVM的简
  • 线阵相机学习笔记(一)

    1 GigE Vision GigE Vision是由自动化影像协会AIA Automated Imaging Association 发起指定的一种基于千兆以太网的图像传输的标准 具有传输距离长 xff08 无中继时100米 xff09