Halcon 算子 trans_from_rgb以及图像格式

作用:将图像的RGB颜色空间转换到任意颜色空间;

参数翻译(对应以上参数顺序):
输入图像(红色通道)、
输入图像(绿色通道)、
输入图像(蓝色通道)、
输出图像(通道1)、
输出图像(通道2)、
输出图像(通道3)、
输出图像的空间模式(官方文档提供了很多种方法,但需要注意的是,文档也说明了一些空间模式,计算机是不支持的,如下图:);

计算机支持的颜色空间有:'cielab'、'cielchab'、'cieluv'、'cielchuv'、'hsv'、'hsi';
描述:
(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];
关于颜色空间模型的区别,请查看我的另一篇微博,