石鑫华视觉 发表于 2016-11-4 16:01:56

3.1.6 IMAQ Dispose释放(图像缓存)

3.1.6 IMAQ Dispose释放(图像缓存)创建了图像缓存,当然就有释放图像缓存的需要。这种成对函数在LabVIEW中是经常出现的。IMAQDispose释放图像缓存函数在程序选板中的位置IMAQDispose释放函数功能与接线端销毁一个图像并且释放其在内存中占用的空间。该函数可以释放应用程序中所有IMAQ Create创建的内存缓存。当应用程序中不再需要此图像时,可以执行此函数销毁图像。用户可以使用该函数销毁每个创建函数生成的图像缓存,也可以使用该函数销售所有创建函数生成的图像缓存。注意,当LabVIEW应用中止时,所有图像仍然保留在内存中。所有图像All Images?(No):指定是否要销毁一个单一的图像缓存,或者是先前创建的全部图像。输入值为真时,销毁先前所有的图像缓存。默认值为假。在应用程序结束时,确保使用该函数释放占用的图像缓存。当所有图像为真值时,Image输入端可以不连接(连接指定的图像缓存也同样会销毁所有缓存),这样也会销毁所有图像缓存,但是需要保证释放图像缓存函数是在程序的最后执行,如果是在中间执行,而其它函数还需要图像缓存,这时释放掉缓存后就会造成程序出错。如果所有图像为假值时,则需要连接到指定的图像缓存引用,这样才可以销毁缓存。图像引用Image:已经创建的图像缓存引用。该接线端优先级低于所有图像,因为所有图像为真值时,该接线其实是可以忽略的。释放所有图像程序框图释放-所有图像为假时效果所有图像假时,则运行完成读取图像-提取颜色平面后,彩色图像、灰度图像都没有释放掉(非Snapshot模式),图像仍然在内存中。释放-所有图像为真时效果而当所有图像为真时,则执行一次程序后会释放掉所有图像。所以,如果在程序退出时,如果有多个图像缓存,那么只需要调用一次该函数,将所有图像设置为真时,即可释放掉所有图像缓存。只释放灰度图像释放彩色图像在释放彩色图像时,可以看到释放函数的错误输入端是连接到提取颜色平面函数后的。这里需要注意函数的执行顺序,如果释放函数不连接错误端,则其程序执行时则可能会比提取颜色平面函数优先执行,如果先执行了,则提取颜色平面函数将无图像缓存可用,会报错。单独释放所有函数    使用独立连线逐一释放缓存时,可以有针对性的释放所有函数。不过如果图像缓存比较多时,要调用很多个函数来释放缓存也是一个麻烦事,这时使用一个调用函数将所有图像设置为真即可解决,省时省力省空间。

页: [1]
查看完整版本: 3.1.6 IMAQ Dispose释放(图像缓存)

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