【matlab 图像处理2】直方图均衡化、规定化

直方图均衡化算法,对给定图像进行均衡化,灰度级数分别为2、64、256;主函数%% 请大家完成直方图均衡化函数 myHisteq.m,然后将本主程序中的变量%% filename设置‘bridge’,运行main_histeq.m,即可得到直方图均衡化后的结果%%clc; clear;close all;%% 读取图片filename = 'bridge'; %测试图像1im = imread([filename, '.jpg']);n_1 = 2;n_2 = 64;n_3 =
摘要由CSDN通过智能技术生成

直方图均衡化算法,对给定图像进行均衡化,灰度级数分别为2、64、256;

主函数

%% 请大家完成直方图均衡化函数 myHisteq.m,然后将本主程序中的变量
%% filename设置‘bridge’,运行main_histeq.m,即可得到直方图均衡化后的结果
%%
clc; 
clear;
close all;

%% 读取图片
filename = 'bridge'; %测试图像1
im = imread([filename, '.jpg']);
n_1 = 2;
n_2 = 64;
n_3 = 256;

% im = 2 * im - 55/255; % 提高对比度的图像
% im = 0.5 * im + 55/255; % 降低对比度的图像
% im = im + 120; % 增加亮度的图像
%% 将图像进行直方图均衡化
im_histeq_1 = myHisteq(im, n_1);
im_histeq_2 = myHisteq(im, n_2);
im_histeq_3 = myHisteq(im, n_3);

%% 将均衡化结果保存到当前目录下的result文件夹下
imwrite(im_histeq_1, sprintf('/%s_eq_%d.jpg', filename, n_1));
imwrite(im_histeq_2, sprintf('/%s_eq_%d.jpg', filename, n_2));
imwrite(im_histeq_3, sprintf('/%s_eq_%d.jpg', filename, n_3));

%% 显示结果(部分代码需补全)
figure(1); 
subplot(421); imshow(im); title('原图'); axis on
subplot(422); imhist(im
  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值