基于MATLAB的图像增强

原创 2015年11月21日 19:02:57

 图像增强中两类重要的处理方法:一种是灰度变换,另一种是直方图处理。

       一、灰度变换

  灰度变换通常可分为线性变换、分段线性变换和非线性变换。我们将分别给出实验,来查看其处理效果。

      1、线性变换

例1:我们对一张较暗的图片进行简单的加法,提高他的亮度,从而可以看到隐藏在黑暗中的细节。

代码:

I=imread('F:\My_documents\PRIVATE\Matlab\bright_dark.jpg');

 figure,imshow(I);

 title('bright_dark.jpg');

 J=I+100;

 figure,imshow(J);

 title('给每个像素增加100');

效果图:

                                  

 2、分段线性变换

例2:下面是分段线性变换的算法及变换前后的对比图像。

对比图像:

                                         

3、非线性变换

例3:下面是一个对数变换的算法和实验效果图。

I=imread('F:\My_documents\PRIVATE\Matlab\pic1.jpg');   %读入图像

I=mat2gray(I);   %对数变换不支持uint8类型的数据,将一个矩阵归一化为灰度图像的数据格式

J=log(I+1);

subplot(1,2,1);

imshow(I);

title('原图像');

subplot(1,2,2);

imshow(J);

title('对数变换后的图像');

效果图:

4、还有一种比较常用的线性变换方法——图像取反

取反操作适于增强嵌入暗色区域的白色或灰色细节,当整幅图像偏暗时,效果尤为明显。

例3: 

I=imread('F:\My_documents\PRIVATE\Matlab\bone.jpg');%读入图像

subplot(1,2,1);

imshow(I);

title('原图像');

J=imcomplement(I);

subplot(1,2,2);

imshow(J);

title('取反后的图像');

效果对比:

相同的效果可由以下代码实现。

灰度变换可使图像动态范围增大,对比度得到扩展,使图像清晰、特征明显,是图像增强的重要手段之一。它主要利用点 运算来修正像素灰度,由输入像素点的灰度值确定相应输出点的灰度值,是一种基于图像变换的操作。灰度变换不改变图像内 的空间关系,除了灰度级的改变是根据某种特定的灰度变换函数进行之外,可以看作是“从像素到像素”的复制操作。

二、直方图变换

图像的灰度统计直方图是一种函数,它表示数字图像中每一个灰度级与该灰度级出现的频数的关系。图像的直方图显示了图像的外貌,暗的图像,其直方图的组成部分集中在灰度较低的一侧;明亮的图像,其直方图的组成部分则集中在灰度级较高的一侧。对比度低的图像,其直方图跨度较窄且集中在灰度级的中部;而高对比度的图像,其直方图覆盖较宽的灰度级范围并且分布较为均匀。因此,为使图像清晰,自然的想法是把灰度级的分布拉开,是灰度级层次分明,力图使其均匀分布,这相当于增加了图像的对比度。有两种重要的直方图处理方法:直方图均衡化和直方图匹配。

1、直方图均衡化

直方图均衡化旨在寻找一种灰度级变换关系,使得变换后的灰度图像的各级灰度的出现概率相同或相近。由严格的数 学理论推导可知,利用累积分布函数作为变换函数可以产生灰度级具有均匀分布的图像。

效果图:

由实验结果可知:

(1)   经过直方图均衡化后,图像的对比度明显增强了,视觉效果明显改善。

(2)   原始图像较暗且占据的灰度范围比较窄。均衡化后的图像的直方图的灰度值范围明显扩大。

(3)   经过histeq 均衡化后的图像的直方图趋于平坦,灰度级有所减少,某些灰度进行了合并。

2、直方图的匹配

直方图均衡化的优点在于能完全自动化,不需要人工参与,但其缺点是只能产生一种近似均衡的直方图。有时,人们希望修改一副图像的直方图,使得与给定的直方图匹配,或者具有一种预先的函数形状,也就要用直方图的匹配

例6:直方图的匹配过程可分为以下几步:

     步骤:

1、求给定函数的累积直方图y;

2、求原图像的累积直方图J;

3、通过J=histeq(I,hgram) 求得匹配后的图像。

效果图:


版权声明:本文为博主原创文章,未经博主允许不得转载。

matlab实现图像增强

下面是根据我自己的工作整理的空间域和频率域的图像增强,首先将彩色图像转化为灰度图像,matlab 代码如下: clear all I1=imread('1.jpg'); ...
  • u011366281
  • u011366281
  • 2016年04月11日 10:42
  • 1999

MATLAB图像增强程序举例

1.灰度变换增强程序: % GRAY TRANSFORM clc; I=imread('pout.tif'); imshow(I); J=imadjust(I,[0.3 0.7],[0 ...
  • maopig
  • maopig
  • 2012年04月28日 13:41
  • 10795

彩色图像增强matlab代码

  • 2015年05月03日 21:14
  • 670KB
  • 下载

三种图像增强算法的matlab源代码

  • 2013年04月27日 22:12
  • 1KB
  • 下载

(4)MATLAB 频率域图像增强

频域滤波可以用来消除周期噪声。     傅里叶变换     图像较平滑,低频部分对应的幅值较大,图像灰度变化越剧烈,其频谱高频分量较强I1 = imread('cell.tif'); %读入原图...
  • sunboyiris
  • sunboyiris
  • 2013年11月26日 13:41
  • 3512

MATLAB图像增强程序

% GRAY TRANSFORM clc; I=imread('pout.tif'); imshow(I); J=imadjust(I,[0.3 0.7],[0 1],1);  %transf...
  • u012720973
  • u012720973
  • 2015年07月14日 10:44
  • 1213

【转】 MATLAB图像增强程序举例

MATLAB图像增强程序举例 分类: Matlab 图像处理/去噪/增强2012-04-28 13:41 1985人阅读 评论(0) 收藏 举报 matlabimagereturn...
  • sinat_22822467
  • sinat_22822467
  • 2015年05月25日 15:46
  • 1063

MATLAB实现彩色图像增强

  • 2009年09月08日 15:43
  • 700KB
  • 下载

骨骼图像增强实验matlab实现

实验总体思路:    原图像是人体骨骼核扫描图像,我们的目的是通过图像锐化突出骨骼的更多细节来增强图像。由于图像灰度的动态范围很窄并且有很高的噪声内容,所以很难对其进行增强。 对此我们采取的策...
  • zhuwei0710
  • zhuwei0710
  • 2017年04月06日 08:52
  • 373

matlab图像调整

图像调整技术用于图像的改善,包括提高信噪比、通过修正图像的颜色和灰度使其某些特征更容易识别等。 1.图像灰度调整 可以直接用imadjust函数直接调整灰度的范围而调整灰度I = imread('...
  • Enjolras_fuu
  • Enjolras_fuu
  • 2017年01月01日 17:18
  • 720
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:基于MATLAB的图像增强
举报原因:
原因补充:

(最多只允许输入30个字)