LabVIEW打开与保存浮点型图像
那天有人问我,LabVIEW如何保存浮点型图像?因为我们常用的基本都是U8类型的图像,连U16、I16之类的都很少用到,更别说浮点型了。这个在我的印象中,好像只有复数CSG和单精度浮点型图像SGL这种图像类型是浮点型的,而且是在LabVIEW环境中可以看到有支持相应的图像类型的功能:问的如何保存浮点型图像
LabVIEW+NI VISION环境支持的浮点类型有单精度SGL的灰度以及CSG的复数图像。
但是我们查看Read File和Write File函数可以知道,Read File函数可以读SGL、CSG等类型的图像,只是不知道这个如果读了浮点型图像,到底是不是用浮点型来表示,还是直接截取整数部分来显示,也不是很清楚,因为我手上连一张所谓的浮点型图像都没有,没有办法测试。
读取文件上有写SGL和CSG类型的图像
另外对于Image显示控件,看其Palette,也没有明显的表示有可以显示SGL、CSG类型的图像,如果能显示,那么是什么类型呢?我们在这里可以用两个For循环模拟生成一幅400-300的SGL浮点型图像来看看效果
我们看到,对于SGL浮点型,其显示为Float图像类型,Palette用的是仍然是Grayscale灰度类型,显示的值则为小数类型。
而对于保存图像函数,则完全连SGL、CSG的类型都不支持,只能整型的:
Write File PNG with Vision info
写文件函数是个多态VI,可以保存到BMP、JPG、JP2、PNG、PNG带视觉信息、TIFF等类型的图像,参看其支持的图像类型,PNG带视觉信息的类型支持的图像类型是最多的,但是不支持SGL和CSG类型。我们可以用上面生成的SGL图像来保存一下看看效果:
直接保存SGL出错,无效的图像类型,不能保存SGL
将SGL强制转换为U8后,则可以保存。保存后的图像为8位的图像类型,不再保留浮点数据。
保存后的图像属性
通过上面的验证,那么我们也就知道了,要想通过NI VISION读浮点型的图像,是可以读的,也可以显示。但是并不能用写函数来保存浮点型的图像。
而要想保存浮点型图像或其数据类型,那么我们还得想一下办法才行。
方法一:
**** Hidden Message *****
石鑫华视觉网http://shixinhua.com,工业相机、工业镜头、机器视觉光源、光源控制器、图像处理、系统集成服务商 本帖最后由 金魏2799 于 2022-6-28 15:15 编辑
正遇到此类问题,只能手动保存.aipd格式,学习一下如何自动保存。
汗。。。
学习 谢谢学习 谢谢学习 谢谢学习 谢谢学习 谢谢 学习学习~~~~~~~~~~~ 学习 谢谢学习 谢谢学习 谢谢学习 谢谢学习 谢谢 又学习到新知识 kankan,thanks
查看看看看安安柯尼卡,谢谢谢谢 学习学习,认真学习 学习一下1111111 学习学习,不知道怎么保存,困扰中