matlab 数字图像处理 图像增强 空域 直方图修正

                                               直方图修正

                         因为人体视觉的系统构造  只有当一副图像各灰度级均匀的分布时,才能形成高对比让人类可以看清图像
1、读入一副图像:
            下面看代码:
              
clear all;
close all;
t = imread('2.jpg');%读入一张图片并且显示
figure, imshow(t);
title('原始图像');  
图像:

其次就是要将彩色图像转换为黑白图像然后进行图像处理:

    1、这里要用到的是rgb2gray() 函数进行转换2、 然后用imwrite(gamp,'name'); 生成黑白图像

     代码:
    
clear all;
close all;

t = imread('2.jpg');
%让图像变成黑白
gamp =rgb2gray(t);
imwrite(gamp,'huise2.jpg');

I = imread('huise2.jpg');
figure,imshow(I);
title('灰色图像');

图像:
下面是对其直方图操作 :
          也即直方图均衡化 ,直方图均衡化原理自行百度,其实就是将其分成不同灰度级 然后。。。忘了貌似是取一个函数,待会翻书温习下。。
          这里要注意的是  1、imhist 函数使用   2、 histeq函数的使用 其他也就没什么了
代码:
%直方图修正 灰度级[1 ,L-1]
%直方图修正是空域的也即是时域的是离散的函数 h(rk) = nk;
%意思是灰度级为rk nk为灰度级为rk的像素个数
%如果图像占有全部的灰度级并且均匀分布这样的图像具有高对比度和多变的灰色亮度
%s = T(r)  
clear all;
close all;

I = imread('huise2.jpg');
%直方图并且显示 imhist(I,n) 函数n 为指定灰度级数目默认为256
figure, imhist(I);
%设置坐标
ylim('auto');
title('原图像的直方图');

%对直方图均衡化histeq(I, n) 希望均衡化后有n 个灰度级
g = histeq(I, 128);
figure, imshow(g); %均衡化后的图像
title('均衡化之后的图像');

figure, imhist(g);
ylim('auto');
title('均衡化之后的直方图');


运行结果图像: 
     






    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangxiaoming

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值