Halcon —— 图像像素类型与转换

本文介绍了Halcon中的各种图像类型,包括'byte', 'int1', 'uint2'等,详细阐述了它们的位深和数值范围,并解释了转换图像类型的原因,如进行图像运算、处理大数据量图像及调整像素精度等。转换可通过convert_image_type算子完成,但需要注意可能引发的像素值异常。此外,还提到了Halcon图像类型与C#类型的对应转换方法。
摘要由CSDN通过智能技术生成

图像类型

就目前工业领域主流的图像处理工具halcon来讲,有以下几种图像类型:‘byte’, ‘complex’, ‘cyclic’, ‘direction’, ‘int1’, ‘int2’, ‘int4’, ‘int8’, ‘real’, ‘uint2’,具体含义如下图所示。在这里插入图片描述
‘byte’ 每像素1字节,无符号 值范围: (0到255)
‘int1’ 每像素1字节,有符号 值范围: (-128到127)
‘uint2’ 每像素2字节,无符号 值范围: (0到65535)
‘int2’ 每像素2字节,有符号 值范围: (-32768到32767)
‘int4’ 每像素4字节,有符号 值范围: (-2147483648到2147483647)
‘int8’ 每像素8字节,有符号(仅适用于x64系统)
‘real’ 每像素4字节,浮点类型,6位有效十进制数字精度 值范围: (-3.4e38到3.4e38)
‘complex’ real类型的两个矩阵,向量
‘vector_field_relative’ real类型的两个矩阵,向量
‘vector_field_absolute’ real类型的两个矩阵,绝对坐标
‘direction’ 每像素1字节,无符号 值范围: (0到179),角度除以2
注意:数值180到254被自动设置为值255。
‘cyclic’ 每像素1字节,无符号,循环算术 范围: (0到255)

转换

halcon自转换

相互间的转换可通过convert_image_type算子完成,但盲目转换会导致图像像素值异常。

但为什么要进行转换呢?总结一下,有以下几种原因:
1.如byte和unit2两种都属于无符号类型,如果涉及到图像相减操作的时候,就需要转为有符号类型,生成真实值。
2.涉及到遍历图像操作时,如果数组的长度为长宽的积,且超过图像的像素位数最大值,会导致程序报错,必须给数组更大的空间,这就需要进行类型转换。
3.如果高像素值的图像想转为低像素值的图像,不能直接转换,需通过scale_image算子先将图像像素进行尺度变换。

halcon转C#类型

1.int,double,string,IntPtr
均通过Htuple类型的变量名加.I(),.D(),.S(),.IP()完成。

引用文章如下:
halcon最全图像类型格式介绍

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值