色彩均衡化算法公式,色彩均衡化算法图
色彩均衡器的原理是增加亮度区间,使其均匀,降低对比度,从而修正图像中的一些不足,使图像细节清晰。图像均衡的基本思想是将出现频率较少的亮度级合并到相邻的亮度级中,从而加宽亮度区间,降低亮度级,使其均匀分布,减弱其对比度。
方法统计图像的直方图信息,然后根据均衡化的基本思想对每个亮度级的分布概率进行均衡化,生成256个亮度级的映射表。最后,对图像进行亮度映射。
编码垫均衡器(垫src) {
int row=src.rows
int col=src.cols
int Count[256]={ 0 };
float p[256]={ 0 };
float fSum[256]={ 0 };
int level[256]={ 0 };
int Total=row * col * 3;
for(int I=0;我划船;i ) {
for(int j=0;j colj ) {
for(int k=0;k k ) {
Count[src.at Vec3b (i,j)[k]];
}
}
}
for(int I=0;i 256i ) {
p[I]=1.0 * Count[I]/(1.0 * Total);
如果(i==0)
fSum[0]=p[0];
其他
fSum[I]=fSum[I-1]p[I];
level[I]=saturate _ cast uchar(255 * fSum[I]0.5);
}
Mat dst(row,col,CV _ 8uc 3);
for(int I=0;我划船;i ) {
for(int j=0;j colj ) {
for(int k=0;k k ) {
dst.at Vec3b (i,j)[k]=level[src.at Vec3b (i,j)[k]];
}
}
}
返回dst
}原图
加工图
缺点算法改造后,图像的亮度等级降低,部分细节丢失。一些图像的对比度在处理后被过度增强。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。