灰度变换增强

空域内的图像增强就是调整图像的明暗对比度,对每个像素的灰度值直接处理,一般来说包括灰度变换增强和直方图增强。下面谈谈,灰度变换增强


一、直方图

先了解直方图,即统计每个像素出现的次数,下面的代码可以实现直方图

close all;
clear;
clc;
I=imread('images.jpg');
I=rgb2gray(I);

[m,n]=size(I);
z=zeros(1,256);
for i=1:m
    for j=1:n
        k=I(i,j);%每个灰度值
        z(k+1)=z(k+1)+1;%索引从1开始,所以是k+1
    end
end
bar(z);
figure,imshow(z)

当然,Matlab图像处理工具箱提供了直接处理图像直方图的函数imhist,直接调用就可以,但是该函数只能画灰度图,实现彩色图像,可以这样进行:

R=I(:,:,1);
G=I(:,:,2);
B=I(:,:,3);

再利用imhist函数,分别画出各分量的直方图;


二、灰度变换增强


1、线性灰度变换

从直方图中,我们可以了解到图像的灰度值主要的集中范围,通常如果图像的灰度值充满整个灰度级,则图像的对比度较好,如果只在某个小区间,则效果不好,因此,需要调整。比如,我们先得到一副的直方图,该图的灰度值主要集中范围是80-150,下面设Y为0-255之间的灰度值,X为80-150之间的灰度值,则满足如下公式:

(x-80/(150-x)=(y-0)/(255-y)

那么,我们就可以得到相应的映射函数

y=255(x-80)/70

代码实现灰度值调整

I1=double(I);
J=(I1-80)*255/70;
for n=1:row
    for m=1:column
        if J(i,j)<0
            J(i,j)=0;
        end
        if J(i,j)>255
            J(i,j)=255;
        end
    end
end
figure,
imshow(uint8(J))

当然,matlab也自带了调整对比度的函数imadjust,这是一种线性变换,输入图像为double,uint8,uint16,输入与输出图像有着相同的类,默认值均为[0 1],matlab中几种调用方式为:

%J = IMADJUST(I) 
%J = IMADJUST(I,[LOW_IN; HIGH_IN],[LOW_OUT; HIGH_OUT]) 
%J = IMADJUST(I,[LOW_IN; HIGH_IN],[LOW_OUT;HIGH_OUT],GAMMA) 
%RGB2 = IMADJUST(RGB1,...) 

比如这J1=imadjust(I,[0.2,0.5],[0,1]),该函数意思是将灰度值小于255*0.2的灰度值设为0,将灰度值大于255*0.5的灰度值设为255,而在255*0.2—255*0.5之间的值映射到0-255;其中有种GAMMA变换的调用方式,GAMMA大于1,变暗,小于1,变明亮;此外,该函数还支持彩色图像;利用该函数时最好配合stretchlim函数使用,stretchlim能得到最佳的输入区间,然后通过imadjust调整灰度


2、分段线性变换
有时为了突出感兴趣的目标或者灰度区间,通常是扩大感兴趣的灰度范围,抑制不感兴趣的目标或者灰度区间

公式:

3、非线性灰度变换
非线性变换常见的的有对数变换,和指数变换;对数变换主要应用于动态范围的压缩,能扩展图像低灰度区域,同时压缩高灰度区域,试图像分布均匀,其公式为g=a*log(1+f),a是一个参数

f=imread('1.jpg');
g=mat2gray(log(1+double(f)))%mat2gray将值限定在[0 1]内
imshow(g)

部分参考:MATLAB图像处理实例详解(杨丹编),清华大学出版社

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值