灰度化处理有多种处理方式:分量法 最大法 平均法 加权平均法
Matlab 中采用的是对R、G、B分量进行加权平均的算法:
0.2989R+ 0.5870G + 0.1140B
常用公式:RGB(A)2GRAY: Y = 0.229*R + 0.587*G + 0.114*B;
GRAY2RGB(A): R = Y, G = Y, B = Y, (A = 0).
直方图均衡化就是用一定的算法使直方图大致平和;
计算步骤:1)计算图像f(x,y)的各灰度级中像素出现的概率p(i)。
p(i) = n[i] / n;
2) 计算p的累计概率函数c(i),c即为图像的累计归一化直方图
3)将c(i)缩放至0~255范围内
y(i) = 255 * c(i)
源码中
scale = (hist_sz -1.f)/(total - hist[i])
(i表示最后一个不等于0的像素值,hist[i] 表示其个数)物理意义近似于:每个像素在直方图上的横坐标上能占多宽,scale为映射到0-255中需要扩大的比例,最后一个不等于0的像素映射到255,scale等于1.
网友评论