石鑫华视觉论坛

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

[原创] Halcon字符串数组转LabVIEW字符串数组

[复制链接]
  • TA的每日心情

    昨天 08:43
  • 签到天数: 3372 天

    连续签到: 32 天

    [LV.Master]2000FPS

     楼主| 发表于 2024-7-22 10:08:25 | 显示全部楼层 |阅读模式 来自:广东省东莞市 电信

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

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

    x
    Halcon的很多算子输出的结果都会包含一个字符串数组,其结构是[]内部包含带双引号的数组元素,元素之间使用逗号和空格进行分隔:[“111”, “222”, “333”]。而要如何将Halcon的这种字符串数组转换为LabVIEW中的字符串数组呢?其实方法还是很简单的。
    [“111”, “222”, “333”]从这种格式来看,具有明显的电子表格特征,元素之间的分隔符是”,_”,然后首尾多了[],字符串元素多了””。最简单的,那当然就是使用分隔符“,”将电子表格字符串转换为LabVIEW数组,然后再对每个元素处理其多余的部分,如[“111”, “222”, “333”]这个数组,第一个元素前面会多[“,后面则会多,第二个元素前面多_”,后面面多,第三个元素前面多_”,后面则多。去掉这些多余的字符即可。
    image1.png
    直接使用电子表格字符串至数组转换函数
             但是直接转换后再去处理后面的数组元素,则需要加一个for循环逐一处理,性能会下降,而且各个元素的处理方式也不一样,并不是一个好的处理方式。这里就不介绍了。这里的处理方式,其实是需要先处理输入的Halcon字符串数组,将首尾的多余字符都删除了,将其变成比较纯粹的LabVIEW电子表格数据,然后再转换为LabVIEW数组。从[“111”, “222”, “333”]这种形式来看,前面多了[“两个字符,后面则多了”]这两个字符。那么可以直接将首尾的字符删除掉即可(使用截取字符串即可),然后电子表格字符串至数组转换中的分隔符使用”, ”这样的四个字符:
    image2.png
    Halcon字符串数组转LabVIEW字符串数组
             从上面的效果来看,就是一个正常的字符串数组转换方式了。效果也比较好,运行速度也比较快。
             当然,这里还可以考虑搜索替换字符串(搜索),还可以考虑字符串中的匹配模式、匹配正则表达式等函数,不过匹配语法略复杂,可能还需要使用for循环,这里就不再去研究了,有兴趣可以自行研究一二。
    LV2020
    Halcon字符串数组转LabVIEW字符串数组.vi (8.39 KB, 下载次数: 1)
    匹配模式
    Halcon字符串数组转LabVIEW字符串数组1.vi (9.71 KB, 下载次数: 1)
    回复

    使用道具 举报

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

    本版积分规则

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

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

    GMT+8, 2024-11-9 01:51

    Powered by Discuz! X3.4

    © 2001-2024 Discuz! Team.

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