精华内容
下载资源
问答
  • Halcon相机的同步采集和异步采集

    千次阅读 2021-11-12 10:34:11
    异步采集: 算子: grab_image_async(:Image:AcqHandle,MaxDelay) grab_image_start(::AcqHandle,MaxDelay) 相机进行异步采集,一幅图像采集完成后相机马上采集下一幅图像。MaxDelay表示异步采集时可以允许的最大...

    异步采集:
    算子:
    grab_image_async(:Image:AcqHandle,MaxDelay)
    grab_image_start(::AcqHandle,MaxDelay)
    相机进行异步采集,一幅图像采集完成后相机马上采集下一幅图像。MaxDelay表示异步采集时可以允许的最大延时,本次采集命令距离上次采集命令的时间不能超出MaxDelay,超出则需要重新采集。
    同步采集:
    grab_image(:Image:AcqHandle:)
    进行相机同步采集,采集完成后处理图像。图像处理结束以后再次采集图像,采集图像的速率受处理速度影响。
    close_framegrabber(::AcqHandle:)
    关闭图像采集设备。

    展开全文
  • HALCON图像采集之同步采集(synchronous)与异步采集(asynchronous) 通常情况下,当我们抓取帧的时候是从一个连续的视频流序列中去抓取一个或者多个视频帧。尽管近来有许多专业设备使用数字信号,但大多数情况下...

    HALCON图像采集之同步采集(synchronous)与异步采集(asynchronous)

           通常情况下,当我们抓取帧的时候是从一个连续的视频流序列中去抓取一个或者多个视频帧。尽管近来有许多专业设备使用数字信号,但大多数情况下,视频信号是模拟信号(analog)。最常见的模拟视频格式是

    1. NTSC: 640 × 480 pixel, 30 frames per second and

    2. PAL: 768 × 576 pixel, 25 frames per second

    这两种格式都是彩色视频信号,还有许多图像获取设备尽管有一个彩色视频信号,但是只传输灰度图像。下面让我们假设使用的是模拟信号的图像采集卡。


           让我们看一下模拟信号:实际上它由许多不同信号组成,有垂直或者水平的同步信号,原始数据信号。有时,彩色和亮度大的信号是混合信号,他们在不同的输入频道上传送(RGB)。因为在录像时帧抓取是同步的,所以它必须等到下一个垂直同步信号到达才开始抓取新的图像。当随机抓取一帧图像时会引起一个大约半帧时间的延迟。如下图,也就是说,你如果想节省时间的话必须在抓完前一帧的情况下紧接着抓取下一帧。但是这样做的结果就是,我们没有时间去处理图像。在这种同步模式下,上位机只顾着发送抓取图像的命令而没有时间去处理图像。因此,Halcon也支持异步抓取。



    同步抓取和异步抓取

           为了明白什么是异步抓取,我们先来看一下图像采集设备对于采集到的帧到底做了什么。明白这个很简单,一个数字化的帧必须存储在一些存储器里。基本上有三种类型的存储器:

    1. 图像采集设备里的存储器

    2. 上位机的存储器

    3. 主存

           第一个是挂载在存储设备主板上的专用存储器。这样的话,图像采集设备可以直接把获取的图像存储在自己的存储器里,并且上位机的每一个处理步骤都可以在任何时候获取到数据。另一方面,它的存储大小是固定的。而且很小,很难存储许多张图片。如果它很大,那么主板将会非常的贵。

           上位机的存储器是一个被帧抓取设备驱动动态分配的未分页系统存储。因此,存储大小可以很容易的调整。但是另一方面,如果图像采集设备频繁的往上位机存储设备里传送,这很容易造成数据拥塞。因此,我们通常情况下不使用一些图像采集设备里连续抓取图像模式,而是根据需求来抓取图像。

           主存是用户分配的在应用的地址空间的某个地方。因为主存是可分页的,因此在通常情况下从图像采集设备传送的图像都会准确的复制到他的存储区(除非DMA失败)。

           上位机的工作,就是上面提到的那样,发出命令,当需要采集一张新的图像时触发采集设备,但是它没有必要在设备数字化帧的时候去等待。当使用片上存储时,很明显上位机会这样工作,但是当存储系统是上位机上的存储器时,如果要实现上述的功能,很可能就要使用DMA技术。所以上位机唯一要做的事情就是在需要采集图像之前提前一点五帧的时间出发图像采集。这个技术就叫做异步抓取。在很容易明白这就是可以说是实时抓取,应为我们抓取图像的时间(PAL40毫秒,NTSC33毫秒)比在视频中两个帧中间隔时间长很多。

           许多的图像采集设备支持异步数据传送。因此,HALCON即提供同步抓取(grab_image)又提供异步抓取(grab_image_async)。为什么有异步抓取了又提供同步抓取,从字面上来理解就是说grab_image只有当图片处理结束后才开始抓取。因此,传送的图像都是最新的。使用异步抓取模式需要对应用时间上面有所把握。否则抓取的图像也许就已经是过期的图像了。

    下面让我们看一下对于高效的图像采集有用的内存管理策略

    缓存策略(Buffering Strategies)

           让我们回过头去看一下实时抓取的问题,假设一个板子支持异步传送,那么它的执行顺序可能是下面这种情况:

    1. 触发一个抓取信号(抓取控制信号立即执行)

    2. 等待抓取结束

    3. 触发下一帧的抓取

    4. 处理步骤2中采集的图像

    5. 返回步骤2

    对于上述步骤反映在HALCON程序中就是

    while(1)

    grab_image_async(Image,-1)

    < process Image >

    end while

           步骤1和3(开始异步抓取)不会阻塞进程,当图像采集设备繁忙时没有时间会被浪费。唯一存在的问题就是为了抓取图像我们应该怎样分配内存:假设步骤3使图像采集设备传送的数据放入专用的内存区域而不知道上位机在步骤4中所做的事情,很明显,图像采集设备必须使用一个不同于上位机的存储区域。如果不这样做的话,设备也许会写入上位机正在读取的内存,那么处理的图像就会被打乱。处理这种问题的最好的方法就是使用两个可选择的缓冲区(alternative buffers):一个用来写入新的数据,另外一个处理以前的数据。这些缓冲区在循环开始前也许只被分配一次。在每次循环后它们会互换角色(图像采集设备写入的缓冲区变成处理读取缓冲区或者反过来)。当有异步数据传送这是一个非常常见的技术我们把它叫做双缓冲区(double buffering)。以前的图像数据被重写,我们叫做volatile grabbing。

           这种技术一方面使抓取性能达到最好,另一方面,灵活减少。很明显,采集过的图像会被一遍一遍的覆盖。所以“历史”痕迹都会丢失。但是这个严格的组织违背了HALCON的一般哲学即中允许创建任意个数的图像数据并且可以并行处理他们直到你在程序中确定你不再需要他们。因此,一个HALCON帧抓取接口总是应当默认创建一个新的图像对象,并且把volatile grabbing最为一个可选择的选项。

    展开全文
  • 目前在使用grab_image_async进行图像采集时,发现使用grab_image_async...grab_image (Image, AcqHandle) //(同步采集)完后处理图像,然后再采集图像。采集图像的速率受处理速度影响。 grab_image_async (Imag...

            目前在使用grab_image_async进行图像采集时,发现使用grab_image_async算子触发读取时会有前几张图上来,不能读取上当前的图片,最后换成了grab_image进行图像获取。

    grab_image (Image, AcqHandle) //(同步采集)完后处理图像,然后再采集图像。采集图像的速率受处理速度影响。

    grab_image_async (Image, AcqHandle,MaxDelay) //(异步采集),一幅画面采集完后相机马上采集下一幅画面,不受处理速度影响。其中第三个参数为:MaxDelay,表示异步采集时可以允许的最大延时,本次采集命令距上次采集命令的时间不能超出MaxDelay,超出即重新采集。

    目前从文字描述上看,grab_image和我们使用的LabVIEW图像采集函数类似,至于什么时候需要用到grab_image_async还要继续学习。

    展开全文
  • USB数据采集卡有很多参数,...同步采集和异步采集卡的采样率选择也不一样。 同步采集卡的采样率是说的是每通道的采样率,即USB-4652的采样率是500k/s/ch,那么1个通道使用的时候最高到500k/s,16个通道的时候,每个

    USB数据采集卡有很多参数,比较重要的几个分别是:是否是同步采样、采样率、分辨率、通道数、量程、是否配备模拟输出、计数器、数字IO的功能。
    以Smacq(思迈科华)的USB系列数据采集卡为例:USB-4000是同步数据采集卡;USB-2000和USB-1000是异步数据采集卡。同步数据采集卡通道之间没有时间差。同步采集卡和异步采集卡的采样率选择也不一样。
    同步采集卡的采样率是说的是每通道的采样率,即USB-4652的采样率是500k/s/ch,那么1个通道使用的时候最高到500k/s,16个通道的时候,每个通道也还能达到500k/s。异步采集卡的采样率是说的多通道一共的采样率,以USB-2602为例,最高采样率是1M/s,1个通道使用的时候,最高能达到1M/s;2个通道使用的时候,最高能达到每个通道500k/s,一共是1M/s;16个通道使用的时候,最高能达到每个通道62.5k/s,一共同样是1M/s。
    所以在选择数据采集卡,特别是异步数据采集卡多通道使用的时候,要计算清楚需要多高的采样率。
    分辨率,也叫垂直分辨率,这个指标直接影响测量的精度。主流采集卡的分辨率主要有24位、16位、14位、12位。
    24位的采集卡的精度最高,但是一般采样率较低,代表型号是Smacq的S系列数据采集卡。
    16位的卡是使用的比较多的,代表型号是Smacq的USB-4000系列和USB-2000系列。
    14位、12位的采集卡更多的是一些低成本的方案,USB-4000和USB-1000系列中有相应的型号。

    展开全文
  • // 解决采集的图像不是实时图像,有延迟的问题 HOperatorSet.GrabImageStart(hv_AcqHandle ,-1); HOperatorSet.GrabImageAsync(out ho_Image, hv_AcqHandle, -1); 参考:...
  • 继电保护或者测控装置都需要同步采集多路的电压或者电流信号,现在一般的实现方式都是用多路逐次逼近型ADC(譬如AD7656或者ADS8-556)实现多路同步数据的采集,这种方案采样速度高、控制简单,但是每一通道都需要...
  • 同步FIFO和异步FIFO

    万次阅读 多人点赞 2017-09-19 09:30:03
    1.定义 FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样... FIFO一般用于不同时钟域之间的数据传输,比如FIFO的一端是AD数据采集, 另一端是计
  • 同步FIFO和异步FIFO总结

    千次阅读 多人点赞 2020-09-17 17:06:09
    关于异步FIFO最小深度的计算9.1 写时钟快于读时钟,写读的过程中没有空闲周期9.2 写时钟频率大于读时钟频率,但在读写的过程中存在空闲周期9.3 写时钟慢于读时钟,且读写过程中没有空闲周期9.4 写时钟频率小于读...
  • 我们在浏览Nand Flash的数据手册时,一般可以看到如下的描述,有同步和同步异步)之分。 Asynchronous:非同步/异步 Synchronous:同步 芯片引脚 同步异步的引脚差异: 同步下PIN8为W/R#引脚...
  • 在实际的工程中选择复位策略之前必须考虑许多设计方面的问题,如使用同步复位或者异步复位或者异步复位同步释放(Asynchronous Reset Synchronous Release或者Synchronized Asynchronous Reset),以及是否每一个...
  • 回答:这个问题,咱只答三个最主要的应用场景(不可否认还有其他的,但是只答三个主要的),即以下六个字:解耦、异步、削峰 (1)解耦 传统模式: 传统模式的缺点: 系统间耦合性太强,如上图所示,系统A在代码中直接调用...
  • STM32F103实现双ADC同步采集电压信号

    万次阅读 多人点赞 2019-05-28 14:55:46
    STM32一般都拥有1~3个ADC,这些ADC可以独立使用,也可以使用双重/三重ADC采样模式,本文使用STM32F103ZET6的双重ADC模式,同步采集两个通道的电压信号。 一、注意事项 1、配置ADC的采样模式为同步规则采样 ADC1...
  • 同步FIFO和异步FIFO的Verilog实现 一、同步FIFO 1、同步FIFO的Verilog实现 module class_6_fifo#( parameter Width = 16, parameter Depth = 4 )( input wire i_clk , input wire
  • 同步FIFO与异步FIFO的基本原理

    千次阅读 2020-11-18 10:49:22
    FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样...作用: FIFO一般用于不同时钟域之间的数据传输,比如FIFO的一端是AD数据采集, 另一端是计算...
  • 对于数据采集接收的一方而言,所谓源同步信号,即传输待接收的数据时钟信号均由发送方产生。FPGA应用中,常常需要产生一些源同步接口信号传输给外设芯片,这对FPGA内部产生时钟或数据的逻辑时序都有较严格的要求...
  • 学完后的收获:什么是寄存器,它能...同步复位的 D 触发器中的“同步”是工作时钟同步的意思,异步复位的 D 触发器中的“异步”是工作时钟不同步的意思。主要就是复位有效的条件是“立刻”执行还是等待“沿”再执行
  • 笔者博客里曾经转载过一篇关于OPC同步读取、异步读取OPC订阅的区别的博客,其中讲的比较详细,笔者就不再过多的赘述这些内容,总之,同步读取是客户端在发出读取请求之后,需要等待服务器的响应,服务器给出回应...
  • PHP CURL 同步/异步 并发 采集 爬行

    千次阅读 2014-03-22 12:39:43
    在上一篇文章基础上对代码进行了整理,并合并进同步采集的方法 类中用到了另一个 Proxy代理类,请自行实现, 如果不需要使用代理,请去除相关代码 同步调用示意  $this->catcher=new LCatcher(10,20,false,true,true...
  •  步骤13(开始异步抓取)不会阻塞进程,当图像采集设备繁忙时没有时间会被浪费。唯一存在的问题就是为了抓取图像我们应该怎样分配内存:假设步骤3使图像采集设备传送的数据放入专用的内存区域而不知道上位机在...
  • NAND Flash的同步异步

    2021-06-11 09:02:58
    同步异步SDR与DDRSyncAsyncONFIToggle闪存的同步异步 SDR与DDR     SDR(single data rate),写数据使用上升沿或下降沿来触发。因为只用上升沿或下降沿,对信号的准确性要求较低。  ...
  • OPC的数据访问方法分别有同步访问、异步访问订阅式数据采集方式三种。 1 同步数据访问方式 OPC服务器把按照OPC应用程序的要求得到的数据访问结果作为方法的参数返回给OPC应用程序,OPC应用程序在结果被返回之前...
  • 同步信号与异步信号的区别

    千次阅读 2013-07-16 17:03:01
    区别同步信号与异步信号,要弄清楚信号变为有效状态时,它是否受CLK的限制. “异步”输入信号时钟信号无关,输入信号变为有效状态时,器件的状态就会立即改变;而“同步”输入信号时钟信号有关,实际上输入...
  • 【FPGA——基础篇】同步FIFO与异步FIFO——Verilog实现

    万次阅读 多人点赞 2019-04-16 09:20:07
    FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样...作用: FIFO一般用于不同时钟域之间的数据传输,比如FIFO的一端是AD数据采集, 另一端是计算...
  • 同步函数与异步函数

    千次阅读 2018-01-29 14:02:12
    1. 同步函数与异步函数  什么是同步函数?  什么是异步函数?  它们在线程中执行时会对线程有何影响?  一个线程如何与一个异步执行的函数进行同步? 依据微软的MSDN上的解说: (1) 同步函数:当一个...
  • OPC的数据访问方法分别有同步访问、异步访问订阅式数据采集方式三种。 1 同步数据访问方式 OPC服务器把按照OPC应用程序的要求得到的数据访问结果作为方法的参数返回给OPC应用程序,OPC应用程序在结果被返回之前...
  • 同步和异步fifo设计

    2021-03-30 21:31:14
    wr_en:fifo写使能,在wr_en有效的情况下,上升沿采集wdata数据。 wdata:fifo写数据。 full:fifo满有效。高电平时,代表当前wdata并未写入fifo。 rd_en:fifo读使能。在rd_en有效,empty无效时,数据同步送出...
  • 数据采集:SCL为高电平期间采集,因此SDA必须在SCL为低期间跳变。 空闲状态:SCL、SDA同为高。因此电路设计一般加上拉电阻。 起始信号:SCL为高时SDA上出现下降沿。 停止信号:SCL为高时SDA上出现上升沿。 读写...
  • 异步复位,同步释放

    2020-03-02 12:40:51
    异步复位,同步释放 异步复位有可能引发亚稳态问题,需将异步复位同步化以后,再输出给寄存器使用。 以低有效复位为例代,码如下: reg rst_n_d1; reg rst_n_d2; always@(posedge clk or negedge rst_n) begin...
  • basler多相机采集

    2017-12-05 09:28:33
    基于C++的basler多相机采集的例子程序,里面包含了软件硬件出发模式
  • 自动安装驱动程序、自行进行系统配置,以及支持不同速率的同步和异步传输方式,支持热插拔即插即用(Plug and Play,PNP)等优点,已逐渐成为现代数据传输的发展趋势。目前实现USB数据传送多采用专用的USB接口芯片,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,639
精华内容 7,055
关键字:

同步采集和异步采集