-
线阵相机选型参数计算
1).计算分辨率:幅宽除以最小检测精度得出每行需要的像素。 2).检测精度:幅宽除以像素得出实际检测精度。 3).扫描行数:每秒运动速度长度除以精度得出每秒扫描行数。 根据以上计算结果选择线阵相机举例如下: 如幅宽为1600 毫米、精度1 毫米、运动速度22000mm/s 相机:1600/1=1600 像素。 最少2000像素,选定为2k 相机。 实际精度: 1600/2048=0.8 22000mm/0.8mm=27.5KHz 应选定相机为2048 像素28kHz 相机。 线阵相机有哪些特点? 1).线阵相机使用的线扫描传感器通常只有一行感光单元(少数彩色线阵使用三行感光单元的传感器) 2).线阵相机每次只采集一行图像; 3).线阵相机每次只输出一行图像; 4).与传统的面阵相机相比,面阵扫描每次采集若干行的图像并以帧方式输出。 为什么要在机器视觉检测中使用线阵相机? 1).线阵相机有更高的分辨率;线阵相机每行像素一般为1024,2048,4096,8012;而一般的面阵相机仅为640,768,1280,大于2048的面阵很少见。 2).线阵相机的采集速度更快;不同型号的线阵相机采集速度从每秒5000 行-60000 行不等,用户可以选择每几行或者每十几行即构成一帧图像进行处理一次,因此可以达到很高的帧率。 3).线阵相机可以不间断的连续采集和处理;线阵相机可以对直线运动的物体(直线导轨,滚筒上的纸张,织物,印刷品,传送带上的物体等)进行连续采集。 4).线阵相机有更简单合理的构造。与面阵相机相比,线阵相机不会浪费分辨率采集到无用数据。
-
线阵相机调帧率_对工业相机帧率的相关知识
工业相机是机器视觉系统的重要组成部分之一,在机器视觉系统中有着非常重要的作用。工业相机已经被广泛应用于工业生产线在线检测、智能交通,机器视觉,科研,军事科学,航天航空等众多领域。工业相机的主要参数包括:分辨率、帧率、像素、像元尺寸、光谱响应特性等。下面我们来对工业相机帧率的相关知识进行讲解: 帧率(Framerate)是用于测量显示帧数的量度。所谓的测量单位为每秒显示帧数(FramesperSecond),简称:FPS或“赫兹”(Hz)。 由于人类眼睛的特殊生理结构,如果所看画面之帧率高于16fps的时候,就会认为是连贯的,此现象称之为视觉暂留。这也就是为什么电影胶片是一格一格拍摄出来,然后快速播放的。 每秒的帧数(fps)或者说帧率表示图形处理器处理场时每秒钟能够更新的次数。高的帧率可以得到更流畅、更逼真的动画。一般来说30fps就是可以接受的,但是将性能提升至60fps则可以明显提升交互感和逼真感,但是一般来说超过75fps一般就不容易察觉到有明显的流畅度提升了。如果帧率超过屏幕刷新率只会浪费图形处理的能力,因为监视器不能以这么快的速度更新,这样超过刷新率的帧率就浪费掉了。 最大帧率(FrameRate)/行频(LineRate):即相机采集传输图像的速率,对于面阵相机一般为每秒采集的帧数(Frames/Sec.),对于线阵相机为每秒采集的行数(Hz)。 相机帧率和曝光时间的关系: 有人问,为什么我们在使用工业相机的时候,将相机的曝光时间增加以后,相机的帧率就下降,而且下降得很厉害,相机的帧率和曝光的关系是怎样,如果想要获得固定的帧率,相机的曝光时间应该怎么设置?因此写下本文,解答了朋友的问题,也使用Sentech相机来做过相关的测试,帧率和曝光时间跟本文中所述一致。详细原理见下文所示: 曝光和传感器读数 相机上的图像采集过程包括两个截然不同的部分。第一部分是曝光。曝光完成后,进行第二部分Readout过程即从传感器的寄存器中读出数据并传送出去(Readout过程)。 关于图像采集过程中,相机操作有两种常见的方法:“non-overlapped”的曝光和“overlapped”的曝光。在非重叠(“non-overlapped”)模式中,每个图像采集的周期中,相机在下一个图像采集开始前,均要完成曝光/读出整个过程。如图1所示。 Fig.1Non-overlappedExposure 虽然非重叠(“non-overlapped”)的模式,可适合于许多情况下,但它并不是最有效的方式。为了提高相机的帧率,允许在下一帧图像开始曝光时候,将前一帧获得的图像数据读出并传送出去。相机“重叠”(“overlapped”)曝光的方式见图2所示。 从图2中我们可以看到,相机读出数据和下一帧曝光开始出现重叠的情况,在同一个时刻内,相机执行两个操作,导致在同样的单位时间内,在“overlapped”曝光模式下,可以采集到更多的图片,即相机的帧率更高。 Fig.2overlappedExposure 从上边两个图中,我们可以知道在“non-overlapped”的曝光和“overlapped”的曝光模式底下,一帧图像的周期存在着这样的关系:”overlapped”的曝光模式下:FramePeriod≤ExposureTime+ReadoutTime “non-overlapped”的曝光模式下:FramePeriod>ExposureTime+ReadoutTime 以STC-A202A为例: 图1Spec 从Spec中可知,其PixelFrequency为:36.8181MHz,所以1Clock的时间为1/36.8181Mhz=27.3836ns,接下来我们看相机的Timingchart,首先先看HorizontalTiming,见图2所示: 图2HorizontalTiming 从图2中,我们从中可读到的信息为,1CLK=27.1605nseconds,和我们从spec上得到的PixelFrequency算出来的时间差不多。扫描1Horizontal需要1920CLK,即1H=27.1605*1920=52148.16ns=52.14816us 接下来看相机VerticalTiming见图3所示: 图3VerticalTiming 从图3中,我们可读出的信息为,1H=52.1482useconds,和我们通过图2计算出来horizontalScanning的时间一致,而在一帧图像中,需要扫描1252H,其中EffectivePixels为1220H,即1帧图像中,EffectivePixelsReadout的时间为1220*52.1482=63620.804us=63.620804ms,一个VD信号,所用的时间为:1252*52.1482=67793.5464us=67.7935464ms。按照我们前边的理论,一个cycletime内,一帧图像的时间为:FramePeriod=ExposureTime+ReadoutTime 而我们知道STC-A202A的帧率为:15fps,即1FramePeriod=1/15=66.7ms。 所以在“non-overlapped”exposure模式下,ExposureTime=FramePeriod–ReadoutTime=66.7ms-63.6ms=3.1ms,在此模式下,若是超过3.1ms的曝光时间,其帧率就会比标准帧率15fps低。 假如1颗相机ReadoutTime为: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
-
分享下最新版vtk编译后的库
vs2017_x64环境 去掉vtk编译的后dll版本号的输出方式,下载地址 复制这段内容后打开百度网盘APP,操作更方便哦。需要下载的可以留言回头放链接 【超级会员V4】通过百度网盘分享的文件:vtk9.2.6…链接:https://pan.baidu.com/s/1Ga4gvqbUrVbRyjKM7tTmFg?pwd=b93c 提取码:b93c复制这段内容打开「百度网盘APP 即可获取」
-
三大错误
向糊涂人说了明白话;试图和不靠谱的人做正经事;和无情的人谈交情。
-
今天一个同事研究qtcreator的源码发现能调用private函数的疑问
大概看了下第一个想到的应该是用了友元,但是一看没有直接关系,感觉很风骚,然后紧跟踪了一下,居然嵌套了三套友元,背后的实现真的很有意思。
-
3d相机成像原理
3D成像方法 汇总(原理解析)— 双目视觉、激光三角、结构光、ToF、光场、全息 3D成像方法汇总介绍: 这里要介绍的是真正的3D成像,得到物体三维的图形,是立体的图像。 而不是利用人眼视觉差异的特点,错误感知到的假三维信息。 原理上分类:主要常用有: 1、双目立体视觉法(Stereo Vision) 2、激光三角法(Laser triangulation) 3、结构光3D成像(Structured light 3D imaging) 4、飞行时间法ToF(Time of flight) 5、光场成像法(Light field of imaging) 6、全息投影技术(Front-projected holographic display) 7、补充:戳穿假全息 上面原理之间可能会有交叉。 而激光雷达不是3D成像原理上的一个分类,而是一种具体方法。 激光雷达的3D成像原理有:三角测距法、飞行时间ToF法等。 激光雷达按照实现方式分类有:机械式、混合固态、基于光学相控阵固态 、基于MEMS式混合固态、基于FLASH式固态等。 1、双目立体视觉法: 就和人的两个眼睛一样,各种两个摄像头的手机大都会用这种方法来获得深度信息,从而得到三维图像。但深度受到两个摄像头之间距离的限制。 视差图:双目立体视觉融合两只眼睛获得的图像并观察它们之间的差别,使我们可以获得明显的深度感,建立特征间的对应关系,将同一空间物理点在不同图像中的映像点对应起来,这个差别,我们称作视差(Disparity)图像。对于视差的理解可以自己体验一下:将手指头放在离眼睛不同距离的位置,并轮换睁、闭左右眼,可以发现手指在不同距离的位置,视觉差也不同,且距离越近,视差越大。 提到视差图,就有深度图,深度图像也叫距离影像,是指将从图像采集器到场景中各点的距离(深度)值作为像素值的图像。 深度图与点云的区别,点云:当一束激光照射到物体表面时,所反射的激光会携带方位、距离等信息。若将激光束按照某种轨迹进行扫描,便会边扫描边记录到反射的激光点信息,由于扫描极为精细,则能够得到大量的激光点,因而就可形成激光点云。深度图像经过坐标转换可以计算为点云数据;有规则及必要信息的点云数据可以反算为深度图像。 两者在一定条件下是可以相互转化的。 双目立体视觉由三角法原理进行三维信息的获取,即由两个摄像机的图像平面和被测物体之间构成一个三角形。已知两个摄像机之间的位置关系和物体在左右图像中的坐标,便可以获得两摄像机公共视场内物体的三维尺寸及空间物体特征点的三维坐标。所以,双目视觉系统一般由两个摄像机构成。 深度和视差成反比。 2、激光三角法 单点激光测距原理:(同属于下面结构光原理)单点激光测距原理图如下图。 激光头Laser与摄像头在同一水平线(称为基准线)上,其距离为s,摄像头焦距为f,激光头与基准线的夹角为β。激光头Laser与摄像头在同一水平线(称为基准线)上,其距离为s,摄像头焦距为f,激光头与基准线的夹角为β。假设目标物体Object在点状激光器的照射下,反射回摄像头成像平面的位置为点P。假设目标物体Object在点状激光器的照射下,反射回摄像头成像平面的位置为点P。 由几何知识可作相似三角形,激光头、摄像头与目标物体组成的三角形,相似于摄像头、成像点P与辅助点P′。P与辅助点P′。 设 PP′=x,q、d如图所示,则由相似三角形可得:PP′=x,q、d如图所示,则 由相似三角形可得:f/x=q/s ==> q=fs/x X可分为两部分计算:X=x1+x2= f/tanβ + pixelSize* position 其中pixelSize是像素单位大小, position是成像的像素坐标相对于成像中心的位置。 […]
-
开源plc
以前一直没有详细深入,昨天大致看了下网上前辈们的理论。总结如下: 1.类型分解释型和编译型;解释型顾名思义需要文本解析运行,时间效率有损耗,但是跨平台很安逸;编译型则是以二进制的方式刷入具体编译后的字节码; 2.plc编程软件主要完成开发工作,编译写入工作,各种编程方式的语言到统一到特定指令(解释型),或者转化为对应平台支持c语言函数(实际运行时候需要管理一套运行p指针,逻辑字节码字长等等纯pc原理的一套东西); 3.需要对硬件环境进行部署或者在pc上虚拟软件环境,我个人是想弄一套软件来虚拟plc然后集成到运控平台做成一套plc编程可以以不同厂家办卡来支持,真正让plc工程师都能玩的起板卡开发,也可以一套plc程序,底层用不同家的plc来支持,不用去学那么多厂家的不同的plc编程