图像缓存使用移位寄存器是否有效验证
我们在LabVIEW编程时可以知道,移位寄存器是可以用于保存历史数据的,如下图所示:移位寄存器保存历史数据那么这种保存历史数据的功能,在图像缓存中是否有效呢?因为我们知道图像缓存其实是一个很大的内存块地址,其是地址引用而并不是真正的数据,是否也同样有效呢?下面来看验证:图像缓存使用移位寄存器效果验证程序框图上图是使用移位寄存器的方法来验证图像缓存是否有效的程序框图,与数据的移位寄存器的使用方法完全一样,下面来看一下实际的图像:运行第0次时实时图像运行第1次时图像在这里我们看到运行第1次时,image1中显示了第0次的图像,这个是正确的,因为其使用了不同的地址。第2次运行在第2次运行时,我们看到1、2中显示的图像是完全一样的,并没有再显示第0次运行时的图像。第3次运行第4次运行第5次运行从上面的图像中可以了解到,在后面的运行中,1、2、3中显示的图像都是一样的,即其中保存的图像内容是一样的。即使我们的移位寄存器的元素初始化时使用了不同的内存名称,经过循环后也同样是一样的数据内容。初始化使用不同的缓存名称这个其实还是可以理解的,因为移位寄存器中传递的仍然只是地址值,而并不是真正的数据值,即使初始化时使用的是不同的值,但是通过循环后,其仍然是将相同的地址值赋值给了历史寄存器,从而在倒数第二、第三、第四元素中仍然是读取的同一地址中的图像。而如果要相保存历史图像数据,还得想其它办法,请看下回分解。
已经有答案:
LabVIEW如何显示实时图像和历史图像
http://visionbbs.com/thread-7853-1-1.html
(出处: 石鑫华视觉论坛) 就是这种感觉。
页:
[1]