|
彩色图像转换为灰度图像
R,G,B为彩图三原色数组,gray为灰度值数组,则
gray = R*0.299 +G*0.587 +B*0.114;
比例变换
把原象素的灰度放大一个比例,最后截至[0,255]。比例变换可以改变图像的对比度。
gray = gray*scale;
gray(find(gray<0)) = 0;
gray(find(gray>255)) = 255;
线性变换
把[a,b]之间的灰度值变换到[c,d],区间之外的灰度值不变。
area = find(gray>=a & gray<=b);
grayArea = gray(area);
gray(area) = (d-c)*(grayArea-a)/(b-a) + c;
阈值变换
将灰度图像转换为黑白二值图像,小于阈值的灰度设为0,大于等于阈值的灰度设为255。
bin = zeros(size(gray));
bin(find(gray < T )) = 0;
bin(find(gray > =T)) = 255;
窗口变换
灰度区间[down,up]内的象素不变,小于down的灰度置零,大于up的灰度置255。
gray1 = gray;
gray1(find(gray < down)) = 0;
gray1(find(gray > up)) = 255;
直方图均衡
直方图是灰度-频率图。直方图均衡将原始图像的直方图变成均匀分布的形式,因此
gray = 255*灰度不大于gray的象素出现的频率。
计算步骤如下:
(1) 统计各个灰度的象素数;
(2) 计算各个灰度的频率;
(3) 计算不大于各个灰度的灰度值频率;
(4) 用公式计算均衡化后的灰度值。
|
|