石鑫华视觉论坛

 找回密码
 注册会员
查看: 4825|回复: 1

[原创] 图像缓存使用移位寄存器是否有效验证

[复制链接]
  • TA的每日心情

    昨天 08:04
  • 签到天数: 3384 天

    连续签到: 6 天

    [LV.Master]2000FPS

    发表于 2015-5-21 22:43:38 | 显示全部楼层 |阅读模式 来自:广东省东莞市 移动

    注册登陆后可查看附件和大图,以及购买相关内容

    您需要 登录 才可以下载或查看,没有账号?注册会员

    x
    本帖最后由 石鑫华视觉 于 2015-5-22 11:28 编辑

    我们在LabVIEW编程时可以知道,移位寄存器是可以用于保存历史数据的,如下图所示:

    移位寄存器保存历史数据

    移位寄存器保存历史数据
    移位寄存器保存历史数据
    那么这种保存历史数据的功能,在图像缓存中是否有效呢?因为我们知道图像缓存其实是一个很大的内存块地址,其是地址引用而并不是真正的数据,是否也同样有效呢?下面来看验证:

    图像缓存使用移位寄存器效果验证程序框图

    图像缓存使用移位寄存器效果验证程序框图
    图像缓存使用移位寄存器效果验证程序框图
    上图是使用移位寄存器的方法来验证图像缓存是否有效的程序框图,与数据的移位寄存器的使用方法完全一样,下面来看一下实际的图像:

    运行第0次时实时图像

    运行第0次时实时图像
    运行第0次时实时图像

    运行第1次时图像

    运行第1次时图像
    运行第1次时图像
    在这里我们看到运行第1次时,image1中显示了第0次的图像,这个是正确的,因为其使用了不同的地址。

    第2次运行

    第2次运行
    2次运行
    在第2次运行时,我们看到12中显示的图像是完全一样的,并没有再显示第0次运行时的图像。

    第3次运行

    第3次运行
    3次运行

    第4次运行

    第4次运行
    4次运行

    第5次运行

    第5次运行
    5次运行
    从上面的图像中可以了解到,在后面的运行中,123中显示的图像都是一样的,即其中保存的图像内容是一样的。即使我们的移位寄存器的元素初始化时使用了不同的内存名称,经过循环后也同样是一样的数据内容。

    初始化使用不同的缓存名称

    初始化使用不同的缓存名称

    初始化使用不同的缓存名称
    这个其实还是可以理解的,因为移位寄存器中传递的仍然只是地址值,而并不是真正的数据值,即使初始化时使用的是不同的值,但是通过循环后,其仍然是将相同的地址值赋值给了历史寄存器,从而在倒数第二、第三、第四元素中仍然是读取的同一地址中的图像。而如果要相保存历史图像数据,还得想其它办法,请看下回分解。

    已经答案:
    LabVIEW如何显示实时图像和历史图像_视觉开发模块NI Vision_图像处理|编程|机器视觉交流_机器视觉论坛_石鑫华视觉_商城_方案_系统_光源_控制器_工业相机_镜头_石鑫华视觉_机器视觉论坛
    visionbbs.com/thread-7853-1-1.html
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-4-25 20:27
  • 签到天数: 64 天

    连续签到: 1 天

    [LV.6]600FPS

    发表于 2015-5-22 15:02:36 | 显示全部楼层 来自:江苏省苏州市 电信
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

    LabVIEW HALCON图像处理入门教程(24.09)
    石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
    《LabVIEW Vision函数实例详解2020-2024》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23/24

    QQ|石鑫华视觉论坛 |网站地图

    GMT+8, 2024-11-23 01:49

    Powered by Discuz! X3.4

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表