描述: (1)、trans_from_rgb将图像从RGB颜色空间转换为任意颜色空间,具体颜色空间根据参数ColorSpace设置的模式进行转换;三通道图像在此算子中,输入和输出都是独立的图像;三通道独立图像的可以利用Halcon算子decompose3来获取。 (2)、算子trans_from_rgb支持图像的类型有byte、uint2、int4和real,对于int4格式图像,图像不应该包含负值;对于real格式图像,所有的值都应该在0和1之间;如果不是,转换的结果可能不合理。 (3)、halcon图像的格式: ‘byte’ 每个像素占1个字节,无符号 取值范围是 0 到 255; ‘int1’ 每个像素占1个字节, 有符号 取值范围是 -128 到 127; ‘uint2’ 每个像素占2个字节,无符号 取值范围是 0 到 65535; ‘int2’ 每个像素占2个字节,有符号 取值范围是 -32768 到 32767 ; ‘int4’ 每个像素占4个字节,有符号 取值范围是 -2147483648 到 2147483647; ‘int8’ 每个像素占8个字节,有符号 取值范围是 -9223372036854775808 到 9223372036854775807 (仅适用于x64系统); ‘real’ 每个像素占4个字节,浮点类型,6-7位有效精度 取值范围是 -3.4e38 到 3.4e38; ‘complex’ 图像是交叉存取的,其实部和虚部相互交叉; 'vector_type' 是由两个矩阵组成,一个是行,另一个是列,它们存在在halcon的数据区; (4)、在转换过程中根据不同的颜色空间模式可能存在相应的缩放: 1)、对于byte和uint2图像,颜色空间值的域通常被分别映射到[0..255]和[0 . . 65535],因此,带符号值的原点(例如CIELab)可能不在域的中 心; 2)、色调值对于角度 [0..2PI] 和特定的图像类型有不同的编码; A、字节图像将角度域映射到[0..255]; B、uint2/int4图像以角分为编码单位,对于转换'cielchab'和'cielchuv'的int4图像,以角秒为编码单位; C、real类型的图像以弧度为编码单位; 角分和角秒定义来之百度百科:
3)、饱和值用百分比表示,并且对于特定的图像类型进行不同的编码; A、字节图像将饱和度值映射到[0..255]; B、uint2/int4-images映射饱和度值到[0..10000]; C、real -images将饱和度映射到[0..1];
关于颜色空间模型的区别,请查看我的另一篇微博,