天天看点

Halcon|图像的gamma变换、log变换和pow变换工业相机像元深度gamma变换log变换pow变换

Halcon|图像的gamma变换、log变换、pow变换

工业相机像元深度

我们将工业相机采集图像的比特位数,称为像元深度,通常是8~16bit。像元深度定义了灰度由暗道亮的灰阶数,例如,对于8bit 的相机,0代表全暗(黑),255 代表全亮(白)。同理,10bit 图像有1024个灰阶,12bit 图像有4096个灰阶。

在可视化过程中,显示器一般只有8bit,对于工业相机采集到的大于8bit 的数据,一般需要进行处理,方可符合人的视觉感受。

halcon中提供了线性变换、gamma变换、log变换、pow变换进行图像变换的方法。线性变换网上教程很多,在这里不再多说。

gamma变换

halcon提供了对图像进行gamma变换的算子:gamma_image,用法如下:

gamma_image(Image,GammaImage,Gamma,Offset,Threshold,MaxGray,Encode)
           

gamma变换是一种特殊的指数变换类型,其变换原则如下:

Halcon|图像的gamma变换、log变换和pow变换工业相机像元深度gamma变换log变换pow变换

其中,Image为原始图像,GammaImage为变换后图像。 G G G为原始图像的灰度值, G ′ G' G′为Gamma变换后图像的灰度值。

m为MaxGray,最大灰度值,根据图像的类型填写,对于8bit的图像,MaxGray为255;对于Nbit的图像,MaxGray为 2 N − 1 2^N-1 2N−1。o表示Offset, γ \gamma γ表示Gamma。

gamma变换的核心是gamma变换公式中的指数部分。然而,当 G ′ = 0 G'=0 G′=0时,gamma变换公式中的指数部分的值为负值,这自然是我们不希望的。为了使得 G ′ = 0 G'=0 G′=0时, G = 0 G=0 G=0,我们在gamma变换公式中又增加了线性部分。t表示线性部分与指数部分的阈值Threshold。s是使得线性部分和指数部分连续的参数,由Gamma、Offset、Threshold、MaxGray等共同决定。

我们通过 G G G到 G ′ G' G′的映射定义了gamma变换,自然将 G ′ G' G′到 G G G的映射称为gamma反变换。当Encode为true时,执行gamma变换,为false时,执行gamma反变换。

gamma反变换公式如下,其中 t ′ = s t t'=st t′=st:

Halcon|图像的gamma变换、log变换和pow变换工业相机像元深度gamma变换log变换pow变换

另外,halcon还给定了标准gamma变换的参数设置。对于sRGB standard,Gamma = 1.0/2.4, Offset = 0.055, Threshold = 0.0031308;对于HDTV video standard,Gamma = 0.45, Offset = 0.099, Threshold = 0.018。

工业相机采集的12bit原始图像:

Halcon|图像的gamma变换、log变换和pow变换工业相机像元深度gamma变换log变换pow变换

sRGB标准格式gamma变换后的图像:

Halcon|图像的gamma变换、log变换和pow变换工业相机像元深度gamma变换log变换pow变换

log变换

halcon提供了对图像进行log变换的算子:log_image,用法如下:

log_image(Image,LogImage,Base)
           

Log变换即对数变换,其变换原则如下:

G ′ = l o g B a s e G G'=log_{Base}{G} G′=logBase​G其中,Image为原始图像,LogImage为log变换后图像。Base为对数的底,一般取自然对数e, 2, 10等。

取自然对数e做log变换后的图像:

Halcon|图像的gamma变换、log变换和pow变换工业相机像元深度gamma变换log变换pow变换

pow变换

halcon提供了对图像进行pow变换的算子:pow_image,用法如下:

pow_image(Image,PowImage,Exponent)
           

pow变换即指数变换,其变换原则如下:

G ′ = G E x p o n e n t G'=G^{Exponent} G′=GExponent其中,Image为原始图像,PowImage为pow变换后图像。Exponent为指数,一般取0.25, 0.5, 2, 3, 4等。

取Exponent为2.25做pow变换后的图像:

Halcon|图像的gamma变换、log变换和pow变换工业相机像元深度gamma变换log变换pow变换

继续阅读