工控编程吧
标题: 工业视觉 halcon 颜色相关滤波器介绍 [打印本页]
作者: qq263946146 时间: 2019-6-10 19:54
标题: 工业视觉 halcon 颜色相关滤波器介绍
rgb1_to_gray(RGBImage : GrayImage : : )
rgb1_to_gray将RGB图像转换为灰度图像。
RGB图像的三个通道作为输入图像的前三个通道传递。
图像按照如下公式进行变换:
gray = 0.299 * red + 0.587 * green + 0.114 * blue .
如果RGBImage中的一个输入图像是单通道图像,
那么它的引用将被简单地复制到输出灰度图像中。
1.rgb3_to_gray(ImageRed, ImageGreen, ImageBlue : ImageGray : : )
rgb3_to_gray将RGB图像转换为灰度图像。
RGB图像的三个通道作为三个单独的图像ImageRed, ImageGreen, ImageBlue传递。
图像按照如下公式进行变换:
gray = 0.299 * red + 0.587 * green + 0.114 * blue .
2.trans_from_rgb(ImageRed, ImageGreen, ImageBlue : ImageResult1, ImageResult2, ImageResult3 : ColorSpace : )
trans_from_rgb将图像从RGB颜色空间转换为任意颜色空间(ColorSpace )。
图像的三个通道在输入和输出时作为三个独立的图像传递。
输入三个通道对应ImageRed, ImageGreen, ImageBlue,输出三个通道对应ImageResult1, ImageResult2, ImageResult3。
对图像类型进行相应的缩放:
考虑到byte和uint2图像,颜色空间值域通常映射到[0...255年] 或[0 . .65535]的全域。
因此,带符号值的原点(例如CIELab)可能不在域的中心。
色调值由角[0..2PI表示,对特定的图像类型编码不同:
字节图像将角度域映射到[0..255]。
uint2/int4图像以弧分[0..21600]编码,但int4图像的转换“cielchab”和“cielchuv”除外,它们以弧秒[0..1296000]编码。
real图像以弧度[0..2pi]编码,除了转换“cielchab”和“cielchuv”,其中标准ISO 11664-4:2008和ISO 11664-5:2009要求以度数指定色调。
饱和度值以[0..100]的百分比表示,并针对特定的图像类型进行不同的编码:
字节图像将饱和度值映射到[0..255]。
uint2/int4图像将饱和度值映射到[0..10000]。
real图像将饱和度值映射到[0..1]。
函数支持的颜色空间域很多,
有 'argyb', 'cielab', 'cielchab', 'cielchuv', 'cieluv', 'ciexyz', 'ciexyz2', 'ciexyz3', 'ciexyz4', 'hls', 'hsi', 'hsv', 'i1i2i3', 'ihs', 'lms', 'yiq', 'yuv'
3.trans_to_rgb(ImageInput1, ImageInput2, ImageInput3 : ImageRed, ImageGreen, ImageBlue : ColorSpace : )
和函数trans_from_rgb对应,trans_to_rgb将图像从任意颜色空间(ColorSpace)转换为RGB颜色空间。
图像的三个通道在输入和输出时作为三个独立的图像传递。
4.linear_trans_color(Image : ImageTrans : TransMat : )
linear_trans_color对多通道图像的颜色值执行仿射变换,并在ImageTrans中返回结果。
颜色值的仿射变换用变换矩阵TransMat 来描述。
如果n是图像中的通道数,m是ImageTrans中的通道数,那么TransMat就是一个齐次的m×(n+1)矩阵,它逐行存储。
齐次表示TransMat 的左m×n子矩阵描述颜色值的线性变换,
TransMat 的最后一列描述颜色值的恒定偏移量。
转换矩阵通常用gen_principal_comp_trans计算。
特别是,通过选择gen_principal_comp_trans返回的转换的第一个m×(n+1)值,可以将一个图像投射到第一个m个主组件上。
但是,也可以直接指定转换。
例如,从RGB到YIQ的转换,它由以下转换等式描述
(, 下载次数: 0)