石鑫华视觉论坛

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

[原创] Halcon不支持I16灰度图像

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

    连续签到: 4 天

    [LV.Master]2000FPS

     楼主| 发表于 2024-11-7 09:07:31 | 显示全部楼层 |阅读模式 来自:广东省东莞市 电信

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

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

    x
    Halcon不支持I16灰度图像
    经过一些验证发现,Halcon好像不支持I16的图像。
    image1.png
    -32768~32767范围的标准I16灰度图像
    上面是一幅使用LabVIEW生成的I16标准图像-1000x1000.png,值范围是-3278~32767,NI视觉中是可以正常判断类型并返回值的:
    image2.png
    NI视觉中的I16标准图像-1000x1000.png:图像类型是signed 16-bit(有符合16位)
           但是这幅图像在HDevelop环境中打开时,则处理成了uint2类型(无符号16位)的图像,取值范围也变成了0-65535:
    image3.png
    HDevelop环境中的I16标准图像-100x1000.png:图像类型是uint2(无符号16位)
           而且,在验证时也发现,如果是12位ADC工业相机保存的I16图像真实图像,在NI视觉中值范围是0~4095(2^12-1=4095):
    image4.png
    I16.tif:NI视觉正常处理
           但是在Halcon中则处理成了33119~36863。从值来看,应该直接加了一个2^16=32768,也就是I16的值,加32768后,将I16[-32768~32767]的转换成U16[0~65535]。NI视觉中的值范围[351,4095],加32768后,则变成Halcon中的值范围[33119,36863]。
    image5.png
    I16.tif:Halcon按照U16来处理且值范围映射到了不同的值区域
           如果用Halcon读取图像或采集图像确定是I16的图像,在Halcon中是直接处理成了U16,而如果要在LabVIEW中进行描述,可以再减去32768,这样就能在LabVIEW中使用I16来描述了。
    I16标准图像-1000x1000.zip (5.45 KB, 下载次数: 0)

    回复

    使用道具 举报

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

    本版积分规则

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

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

    GMT+8, 2024-11-20 15:22

    Powered by Discuz! X3.4

    © 2001-2024 Discuz! Team.

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