石鑫华视觉论坛

 找回密码
 注册会员
查看: 4854|回复: 0

[原创] 3.1.31 IMAQ Flatten Image to String扁平化图像为字符串

[复制链接]
  • TA的每日心情
    擦汗
    6 小时前
  • 签到天数: 3378 天

    连续签到: 5 天

    [LV.Master]2000FPS

    发表于 2017-3-23 17:36:45 | 显示全部楼层 |阅读模式 来自:广东省东莞市 电信

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

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

    x
    3.1.31 IMAQ Flatten Image to String扁平化图像为字符串
    扁平化图像为字符串函数,其作用是使用提供的选项将图像用字符串来表示。

    IMAQ Flatten Image to String扁平化图像为字符串在程序选板中的位置

    IMAQ Flatten Image to String扁平化图像为字符串在程序选板中的位置
    IMAQFlatten Image to String扁平化图像为字符串在程序选板中的位置

    IMAQ Flatten Image to String扁平化图像为字符串功能说明、支持图像与接线端

    IMAQ Flatten Image to String扁平化图像为字符串功能说明、支持图像与接线端
    IMAQFlatten Image to String扁平化图像为字符串功能说明、支持图像与接线端
    Flattenwith Process-Unique Name (F)使用唯一名称的进程扁平化:该选项NI帮助文档中并没有解释,应该是一个BUG。但是根据其字面意思,应该是确定是否使用唯一名称的进程来处理扁平化。相当于分配单独的资源来处理扁平化过程。因为从实际应用来看,当图像超过百万像素时,处理起来是非常慢的。所以,这里可以指定单独专用的一个进程来扁平化。如果为假,则与其它处理共享进程。
    Compression(None)压缩(无):、Type of Flatten (Image and Vision Info)扁平化类型(图像和视觉信息)、Quality (750)质量: 这三个参数与上节中的扁平化选项中的参数是一样的概念。
    Data String:是LabVIEW字符串,包含了表示图像的字符串。使用Unflatten将此字符串的LabVIEW原始字符串转换回图像。如果在内存中图像和扁平化后的图像有相同的名称,当字符串没有逆扁平化时,扁平化后的图像字符串内容直接复制到图像中。否则,会新建一个唯一名称的图像,该图像包含了扁平化图像字符串的内容。
    下面来看一下该函数的实例。

    IMAQ Flatten Image to String扁平化图像为字符串实例程序框图

    IMAQ Flatten Image to String扁平化图像为字符串实例程序框图
    IMAQFlatten Image to String扁平化图像为字符串实例程序框图

    IMAQ Flatten Image to String扁平化图像为字符串实例前面板-无压缩

    IMAQ Flatten Image to String扁平化图像为字符串实例前面板-无压缩
    IMAQFlatten Image to String扁平化图像为字符串实例前面板-无压缩
    如上图所示,为读取一幅30万像素的灰度图。从图像信息中可以看到,分辨率为656×492,共有322752字节的数据。可以看到没有压缩后的数据字符串长度为35083字节(还包含了一些组织信息)。也就是没有使用压缩方法时,转换后的字符串字节数与图像的大小是一样的。注意,压缩方法为None时,建议不要读取大图像,会很慢!

    IMAQ Flatten Image to String扁平化图像为字符串实例前面板-JPEG压缩

    IMAQ Flatten Image to String扁平化图像为字符串实例前面板-JPEG压缩
    IMAQFlatten Image to String扁平化图像为字符串实例前面板-JPEG压缩
    当使用JPEG压缩时,字符串长度则明显缩短,只有56660字节了。大概也就是56K的样子。这个值大小,和将图像保存为JPEG时的大小接近:

    示例中读取的30万像素图像BMP与JPEG大小

    示例中读取的30万像素图像BMP与JPEG大小
    示例中读取的30万像素图像BMPJPEG大小

    IMAQ Flatten Image to String扁平化图像为字符串实例前面板-PACKED BINARY压缩

    IMAQ Flatten Image to String扁平化图像为字符串实例前面板-PACKED BINARY压缩
    IMAQFlatten Image to String扁平化图像为字符串实例前面板-PACKED BINARY压缩
    使用Packed Binary方法压缩时,则字符串大小会更小一点。

    图像质量设置为300时的JEPG压缩

    图像质量设置为300时的JEPG压缩
    图像质量设置为300时的JEPG压缩
    可以看到,将图像质量设置为300时的JPEG压缩,其压缩后的大小更小。

    IMAQ Flatten Image to String扁平化图像为字符串实例-扁平化类型为Image and Vision

    IMAQ Flatten Image to String扁平化图像为字符串实例-扁平化类型为Image and Vision
    IMAQFlatten Image to String扁平化图像为字符串实例-扁平化类型为Image and Vision
    上图为扁平化类型选择图像和视觉,可以看到其与Image相比时,扁平化后的字符串大了9字节。

    IMAQ Flatten Image to String扁平化图像为字符串实例-扁平化类型为Reference to Image

    IMAQ Flatten Image to String扁平化图像为字符串实例-扁平化类型为Reference to Image
    IMAQFlatten Image to String扁平化图像为字符串实例-扁平化类型为Reference to Image
    而当使用图像引用作为扁平化类型时,则数据字符串最小,仅有127。
    下面再来看一下扁平化图像选项的使用:

    扁平化图像选项函数的使用程序框图

    扁平化图像选项函数的使用程序框图
    扁平化图像选项函数的使用程序框图
        这里使用时,比较简单,扁平化图像选项设置好后,将新的选项输出给扁平化图像为字符串函数即可。

    无压缩效果

    无压缩效果
    无压缩效果

    JPEG压缩效果

    JPEG压缩效果
    JPEG压缩效果

    PACKED BINNARY压缩效果

    PACKED BINNARY压缩效果
    PACKEDBINNARY压缩效果
    可以看到,上面的作用效果和图像转换为字符串单独作用时一样。那么问题来了,扁平化图像选项函数的作用又在哪里呢?
    LabVIEW2014SP1例子下载:
    3.1.31 IMAQ Flatten Image to String扁平化图像为字符串.rar (285.41 KB, 下载次数: 114)

    回复

    使用道具 举报

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

    本版积分规则

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

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

    GMT+8, 2024-11-15 14:25

    Powered by Discuz! X3.4

    © 2001-2024 Discuz! Team.

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