Halcon|图像的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变换是一种特殊的指数变换类型,其变换原则如下:
gamma变换
其中,Image为原始图像,GammaImage为变换后图像。 G G G为原始图像的灰度值, G ′ G' G为Gamma变换后图像的灰度值。
m为MaxGray,最大灰度值,根据图像的类型填写,对于8bit的图像,MaxGray为255;对于Nbit的图像,MaxGray为 2 N − 1 2^N-1 2N1。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
gamma反变换
另外,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原始图像:
原始12bit图像
sRGB标准格式gamma变换后的图像:
gamma变换后图像

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=logBaseG其中,Image为原始图像,LogImage为log变换后图像。Base为对数的底,一般取自然对数e, 2, 10等。
取自然对数e做log变换后的图像:
log变换后图像

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变换后的图像:
pow变换后图像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值