注册登陆后可查看附件和大图,以及购买相关内容
您需要 登录 才可以下载或查看,没有账号?注册会员
x
NI Vision Builder for Automated Inspection 2020-2026入门教程《NI Vision Builder for Automated Inspection2020-2026入门教程》NI VBAI 2020-2026入门教程试读版 (出处: LabVIEW视觉) 第四章 Acquire Images采集图像
4.4 Read Image File读取图像文件
4.4.1 Main主体点击Read Image File读取图像文件函数后,出现如下图所示的仿真界面: ReadImage File读取图像文件-Mian主体及仿真图像效果 StepName步骤名称:当前函数的步骤名称。 Pathto Image, AVI, or Folder of Images图像、AVI或图像文件夹的路径:需要打开的图像、AVI文件或图像文件夹的路径,可以通过右边的浏览按钮
浏览电脑中的图像、AVI视频文件或者是包含多个图像的文件夹。 Select an Image or AVI File选择文件或AVI文件 注意,如果打开选择文件或AVI文件对话框时,只能选择图像文件或AVI文件。不能选择文件夹目录,没有LabVIEW中的选择“当前文件夹”功能。但是选择了图像文件后,可以通过下面的Cycle Through Folder Images参数,也就类似于读取整个文件夹。另外,如果选择了图像文件后,然后在路径中把文件和后缀删掉,只保留文件夹,这时也是可以的,就是打开文件夹的效果,这时Cycle Through Folder Images也就是禁用的,就已经是要循环读取文件夹中的图像: 图像文件夹路径 读取AVI文件,这个读取视频文件功能也是有很多限制的。首先,就是只能读取后缀为*.avi格式的视频文件,其他的什么*.mp4之类的,是不能读取的。另外,AVI文件只有兼容的NI的视频压缩格式的AVI才可以被正常读取: NI视觉2020版支持的视频编码器名称 上面的编码器名称,就是NI视觉可支持的编码器。其他的一些高效编码器,如H264/H265之类的,则是无法兼容的。 读取AVI文件1 读取AVI文件2 Cycle Through Folder Images/Cycle Through AVIFile循环浏览文件夹图像/循环浏览AVI文件:即当前选择的图像1后,再执行一次时,如果文件夹中还有其他图像,将选择图像2……;如果是读取AVI文件,则会逐帧读取视频中的图像。如果不勾选此参数,则只读取当前打开的图像或AVI中的当前帧图像。当然循环浏览文件夹或AVI文件中的图像功能,还受VBAI顶上的使用图像快捷按钮
控制,如果选择的是使用当前图像,那也是不会循环浏览文件夹/AVI文件中的图像的。 Get Extra Information from Image File从图像文件获取额外信息:这个其实也就是读取图像中的额外信息,如标定信息、相机模型、模板信息之类的。按照LabVIEW Vision中的函数,勾选Get Extra Informationfrom Image File时,实际上就是使用IMAQ Read Image And Vision Info2函数进行读取。而如果不勾选,则使用IMAQ Read Image 2函数进行读取。 读取U16图像 读取I16图像 读取RGB64图像 当读取U16、I16等类型的16位的灰度图像时(不包含RGB64这样16位的彩色图像),会出现设置位深参数: SetBit Depth设置位深:启用时,此控件设置16位图像的位深度。此控件仅在选择16位图像时启用。 Bit Depth位深:确定图像的新位深。 Estimated Bit Depth估计位深:根据图像像素的最小值和最大值显示估计的位深度。 提示:设置16位图像的位深,使用颜色调色板并利用图像的实际动态来显示图像。也就是要想显示设置的位深效果,需要使用颜色调色板,而不能使用灰度调色板: 将U16设置为8位深时灰度调色板显示 上面的图像是估计的12位图像(最大值为4095),设置为8位深时,灰度调色板看起来是没有差别的。那么使用颜色调色板来显示看看效果: 彩虹模式显示U16-设置8位深-估计12位深 彩虹模式显示U16-设置12位深-估计12位深 彩虹模式显示U16-设置16位深-估计12位深 使用颜色调色板来显示设置位深后的图像,不同的位深显示效果是不一样的。同样的位深值,如12位的最大值是4095,在8位的彩虹模式时,肯定已经超过了最大的255,那就是彩虹模式的最大值红色;而如果是16位的彩虹模式时,则4095离16位的表示的最大值65535差的比较远,反而更接近于小端的值,这时显示的效果则偏向于显示蓝色。 彩虹模式显示U16-设置8位深-估计12位深 彩虹模式显示U16-设置9位深-估计12位深 彩虹模式显示U16-设置10位深-估计12位深 彩虹模式显示U16-设置11位深-估计12位深 彩虹模式显示U16-设置12位深-估计12位深 彩虹模式显示U16-设置13位深-估计12位深 彩虹模式显示U16-设置14位深-估计12位深 彩虹模式显示U16-设置15位深-估计12位深 彩虹模式显示U16-设置16位深-估计12位深 上面针对U16的灰度图像,设置8-16位深时,各种效果下都不同,其中的9、10位深时,图像最后输出图像的整体上都偏向于彩虹模式的大值,所以图像表现为整片的红色。 这个主要还是看图像整体的灰度值分布,然后在设置位深时,截取的位深,刚好都是当前设置的位深度时的较大值。如上图中鼠标位置的灰度值是3064,在12位的灰度值中也算是比较大的,所以动态表示的话,应该是偏向白色的。但是如果将其按照设置位深,截取指定的位数,那效果就不太一样了。3064二进制表示是为:1011 1111 1000: 3064十进制和二进制表示 这个像素值,如果设置为8位深时,则值为1111 1000,十进制表示为248,则在8位深时,是偏向大值,也是表现为红色。取9位时则为1 1111 1000,取10位时为11 1111 1000,都是高位有效,所以都偏向于大值。取11位时为011 1111 1000,则最高位为0,十进制值则在11时的较小值那一半区间。而取12位时为10111111 1000,仍然是高位有效,仍然表现为高位红色的效果。所以上面图像的下半部分的很多像素的灰度值,截取8位图像后,第8位上很多都是有效1值,表示的图像也就偏向于红色。整个图像也就显示了更多的红色。 只有当设置的位数大于估计的最大位数12时,这时设置的位数的高位总是0的,不可能是1的有效位,所以显示效果偏向于彩虹模式的低区间蓝色值。 这种效果在I16中也有这样的效果,不过I16的最高位是符号位,和U16时略有差别: I16图像的彩虹模式显示-设置位深8-估计位深12 I16图像的彩虹模式显示-设置位深9-估计位深12 I16图像的彩虹模式显示-设置位深10-估计位深12 I16图像的彩虹模式显示-设置位深11-估计位深12 I16图像的彩虹模式显示-设置位深12-估计位深12 I16图像的彩虹模式显示-设置位深13-估计位深12 I16图像的彩虹模式显示-设置位深14-估计位深12 I16图像的彩虹模式显示-设置位深15-估计位深12 I16类型的图像,设置的位深最大只能15位,其最高的16位是符号位。从上面的效果来看,可设置位深从8~15,各个值时的效果也是不同的。
|