白平衡算法——gamma算子
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
y (x e)
传统CRT:
二、基于伽马变换的图像增强
原理步骤:
归一化
补偿
反归一化
二、伽马变换原理
归一化: y cr , r [0,1]
将像素值转换为 0 ~ 1 之间的实数。 算法如下 :r= ( i + 0. 5)/256 这里包含 1 个除 法和 1 个加法操作。对于像素 A 而言 , 其对应的归一化值为 0. 783203 。
LUT[i] = intTemp; }
二、程序的实现
//单通道 if (resultImage->nChannels == 1) {
for (int i = 0; i < resultImage->height; i++) {
for (int j = 0; j < resultImage->width; j++) {
假设像素值 i=200
1 1 0.4545
gamma 2.2 0.783203 0.894872
二、伽马变换原理
反归一化:
将经过预补偿的实数值反变换为 0 ~ 255 之间的整数值。具体算法为 : f*256 - 0.
5 此步骤包含一个乘法和一个减法运算。续前 例 , 将 A 的预补偿结果 0. 894872
float f = (i + 0.5f) / 255; f = (float)(pow(f, kFactor)); int intTemp = f*255.0f - 0.5f; if(intTemp<0) {
intTemp=0; } else if(intTemp>255) {
intTemp=255; }
假设像素值 i=200
二、伽马变换原理
γ值曲线图:
γ值以1为分界,值越小,对图 像低灰部分的扩展作用就越 强,值越大,对图像高灰度部 分的扩展作用就越强,通过不 同的γ值,就可以达到增强低灰 度或高灰度部分细节的作用
二、伽马变换原理
补偿:
根据公式 , 求出像素归一化后的 数据以 1 /gamma 为指数的对应值。这一步包含 一个 求指数运算 。若 gamma 值为 2. 2 , 则 1 /gamma 为 0. 454545 , 对归一化后 的 A 值进行预补偿的结果就 是 0. 783203 ^0. 454545 = 0. 894872 。
pixel = (uchar*)(resultImage->imageData + i*resultImage->widthStep+j); *pixel = LUT[(int)(*pixel)]; } } } else//多通道 { for( int y = 0; y < resultImage->height; y++) { uchar* ptr = (uchar*)(resultImage->imageData+y*resultImage->widthStep); for( int x = 0; x < resultImage->width; x++ ) { ptr[3*x+0] = LUT[(int)(ptr[3*x+0])]; //Blue ptr[3*x+1] = LUT[(int)(ptr[3*x+1])]; //Green ptr[3*x+2] = LUT[(int)(ptr[3*x+2])]; //Red< colorim.cols; ++j ) } }
}
二、运行结果
感谢各位的聆听
参考文献: https:///guanzz/p/7416821.html https:///dcrmg/article/details/53677739 /blog/2016/03/27/93d3569f832579af7bfb56c2f0cc362c.html /blog/2016/04/11/c8d6b40052d70dfec3559f0086def3f4.html
代入上式 , 得到 A 预补偿后对应的像素值为 228 , 这个 228 就是最后送 入显示器
的数据
r= ( i + 0. 5)/256
假设像素值 i=200
i= ( r * 256) - 0.5
三、程序的实现
算法
效率、可读性、复用性
代码/产品
效 率:查表、位运算、加减、乘除
y cr , r [0,1]
图像增强算法——伽马算法
罗小军
一、 图像增强的方法
1、基于直方图均衡化的图像增强 2、基于拉普拉斯算子的图像增强 3、基于对数Log变换的图像增强 4、指数图像增强算法 5、基于伽马变换的图像增强 6、拉普拉斯算子图像增强 7、高反差保留
二、基于伽马变换的图像增强
定义: (Gamma Correction,伽玛校正):所谓伽玛校正就是对图像的伽玛曲线进行编辑, 以对图像进行非线性色调编辑的方法,检出图像信号中的深色部分和浅色部分,并 使两者比例增大,从而提高图像对比度效果。计算机绘图领域惯以此屏幕输出电压 与对应亮度的转换关系曲线,称为伽玛曲线(Gamma Curve)
可读性:C、C++、注释、多重运算 复用性:函数、类、结构体
i= ( r * 256) - 0.5
1 1 0.4545
gamma 2.2 0.783203 0.894872
三、程序的实现
kFactor = 1.0 / kFactor; unsigned char LUT[256]; for (int i = 0; i < 256; i++) {
传统CRT:
二、基于伽马变换的图像增强
原理步骤:
归一化
补偿
反归一化
二、伽马变换原理
归一化: y cr , r [0,1]
将像素值转换为 0 ~ 1 之间的实数。 算法如下 :r= ( i + 0. 5)/256 这里包含 1 个除 法和 1 个加法操作。对于像素 A 而言 , 其对应的归一化值为 0. 783203 。
LUT[i] = intTemp; }
二、程序的实现
//单通道 if (resultImage->nChannels == 1) {
for (int i = 0; i < resultImage->height; i++) {
for (int j = 0; j < resultImage->width; j++) {
假设像素值 i=200
1 1 0.4545
gamma 2.2 0.783203 0.894872
二、伽马变换原理
反归一化:
将经过预补偿的实数值反变换为 0 ~ 255 之间的整数值。具体算法为 : f*256 - 0.
5 此步骤包含一个乘法和一个减法运算。续前 例 , 将 A 的预补偿结果 0. 894872
float f = (i + 0.5f) / 255; f = (float)(pow(f, kFactor)); int intTemp = f*255.0f - 0.5f; if(intTemp<0) {
intTemp=0; } else if(intTemp>255) {
intTemp=255; }
假设像素值 i=200
二、伽马变换原理
γ值曲线图:
γ值以1为分界,值越小,对图 像低灰部分的扩展作用就越 强,值越大,对图像高灰度部 分的扩展作用就越强,通过不 同的γ值,就可以达到增强低灰 度或高灰度部分细节的作用
二、伽马变换原理
补偿:
根据公式 , 求出像素归一化后的 数据以 1 /gamma 为指数的对应值。这一步包含 一个 求指数运算 。若 gamma 值为 2. 2 , 则 1 /gamma 为 0. 454545 , 对归一化后 的 A 值进行预补偿的结果就 是 0. 783203 ^0. 454545 = 0. 894872 。
pixel = (uchar*)(resultImage->imageData + i*resultImage->widthStep+j); *pixel = LUT[(int)(*pixel)]; } } } else//多通道 { for( int y = 0; y < resultImage->height; y++) { uchar* ptr = (uchar*)(resultImage->imageData+y*resultImage->widthStep); for( int x = 0; x < resultImage->width; x++ ) { ptr[3*x+0] = LUT[(int)(ptr[3*x+0])]; //Blue ptr[3*x+1] = LUT[(int)(ptr[3*x+1])]; //Green ptr[3*x+2] = LUT[(int)(ptr[3*x+2])]; //Red< colorim.cols; ++j ) } }
}
二、运行结果
感谢各位的聆听
参考文献: https:///guanzz/p/7416821.html https:///dcrmg/article/details/53677739 /blog/2016/03/27/93d3569f832579af7bfb56c2f0cc362c.html /blog/2016/04/11/c8d6b40052d70dfec3559f0086def3f4.html
代入上式 , 得到 A 预补偿后对应的像素值为 228 , 这个 228 就是最后送 入显示器
的数据
r= ( i + 0. 5)/256
假设像素值 i=200
i= ( r * 256) - 0.5
三、程序的实现
算法
效率、可读性、复用性
代码/产品
效 率:查表、位运算、加减、乘除
y cr , r [0,1]
图像增强算法——伽马算法
罗小军
一、 图像增强的方法
1、基于直方图均衡化的图像增强 2、基于拉普拉斯算子的图像增强 3、基于对数Log变换的图像增强 4、指数图像增强算法 5、基于伽马变换的图像增强 6、拉普拉斯算子图像增强 7、高反差保留
二、基于伽马变换的图像增强
定义: (Gamma Correction,伽玛校正):所谓伽玛校正就是对图像的伽玛曲线进行编辑, 以对图像进行非线性色调编辑的方法,检出图像信号中的深色部分和浅色部分,并 使两者比例增大,从而提高图像对比度效果。计算机绘图领域惯以此屏幕输出电压 与对应亮度的转换关系曲线,称为伽玛曲线(Gamma Curve)
可读性:C、C++、注释、多重运算 复用性:函数、类、结构体
i= ( r * 256) - 0.5
1 1 0.4545
gamma 2.2 0.783203 0.894872
三、程序的实现
kFactor = 1.0 / kFactor; unsigned char LUT[256]; for (int i = 0; i < 256; i++) {