图像处理技术课第二次试验(1)——图像的均衡化处理

% Equalization.m

clear
%一,读取图像
originalpicture = imread('F:/personal/2_硕士/1_2_研一下学期/3_图像处理技术(李智)/2017.03.21/0_Equalization/lena512.bmp');              % 读入JPG彩色图像文件
imshow(originalpicture);                                  % 显示出来

%二,绘制直方图
[m, n] = size(originalpicture);                             % 测量图像尺寸参数
GP = zeros(1, 256);                            % 预创建存放灰度出现概率的向量
% 通过循环计算每级灰度出现的概率,将其存入GP中相应位置
for k = 0 : 255
    GP(k + 1) = length(find(originalpicture == k)) / (m * n);     
end

figure, bar(0 : 255, GP, 'g');                % 绘制直方图
title('原图像直方图');
xlabel('灰度值');
ylabel('出现概率');

% 三,直方图均衡化
% 创建新的灰度级概率表,将灰度级概率进行累加,使灰度级概率的峰值变宽,图像变得更加细腻。
% S1 = zeros(1, 256);
% for i = 1 : 256
%     for j = 1 : i
%         S1(i) = GP(j) + S1(i);                   % 计算Sk
%     end
% end


% 直方图均衡化
% 创建新的灰度级概率表,将灰度级概率进行累加,使灰度级概率的峰值变宽,图像变得更加细腻。
s1 = zeros(1, 256);
for i = 1 : 256
    for j = 1 : i
        s1(i) = GP(j) + s1(i);                   
    end
end

% 将灰度级进行映射。
% S2 = round((S1 * 256) + 0.5);                    % 将Sk归到相近级的灰度
% 
% for i = 1 : 256
%     GPeq(i) = sum(GP(S2 == i));                  % 计算现有每个灰度级出现的概率
% end

% 将灰度级进行映射。
newgray = round((s1 * 256) + 0.5);                

for i = 1 : 256
    % 计算现有每个灰度级出现的概率
    GPeq(i) = sum(GP(newgray == i));               % #ok<SAGROW>
end

figure, bar(0 : 255, GPeq, 'b');                   % 显示均衡化后的直方图
title('均衡化后图像的直方图');
xlabel('灰度值');
ylabel('出现概率');

% 四,图像均衡化
equalizationpicture = originalpicture;
for i = 0 : 255
    % 将各个像素归一化后的灰度值赋给这个像素
    equalizationpicture(find(originalpicture == i)) = newgray(i + 1);            
end
figure, imshow(equalizationpicture);                            % 显示均衡化后的图像
title('均衡化后图像');
imwrite(equalizationpicture, 'PicEqual.bmp');

 

转载于:https://my.oschina.net/wangsifangyuan/blog/865272

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值