Intensity Transformations and HistogramEqualization

1.1 对数变换方法进行图像增强的程序duishu.m
function duishu(T,C)
%对数变换对图像增强的效果
m=1;n=2;
T=imread('Fig3.08(a).jpg');
C=35;%改变参变量C的值来探索最好的图像处理效果
double C;
[x,y]=size(T);
for i=1:x
  for j=1:y
T1(i,j)=uint8(C*log(double(T(i,j))+1));
   end
end
subplot(m,n,1),imshow(T);
title('原始图像');
subplot(m,n,2),imshow(T1);
title('对数变换后的图像');
1.2 指数变换方法进行图像增强的程序zhishu.m
function zhishu(T,C,r)
m=1;n=2;
T=imread('Fig3.08(a).jpg');
[x,y]=size(T);
r=0.8;
C=20;
double C;
for i=1:x
 for j=1:y
T1(i,j)=uint8(C*double(T(i,j))^r);
end
end
%figure(1),imshow(I);
subplot(m,n,1),imshow(T);
title('原始图像');
%figure(2),imshow(I1);
subplot(m,n,2),imshow(T1);
title('指数变换后的图像');
%imwrite(I1,'C=46,r=1.2.jpg');
2.1 计算图像直方图的程序count_zft.m
function count_zft
%计算图像直方图
    ima=imread('Fig3.08(a).jpg');
    [m,n]=size(ima);
    r=zeros(1,256);
    for i=1:m
        for j=1:n
            r(ima(i,j)+1)=r(ima(i,j)+1)+1;
        end
    end
    bar(1:256,r);%为r中每一个元素创建一个条形图
    title('图像的直方图');
2.2 直方图均衡化增强zhifangtu.m
function zhifangtu 
%ima为输入图像
%imt为直方图均衡化后的输出图像
    x=1;y=2;
    ima=imread('Fig3.08(a).jpg');%读取指定图像
    [m,n]=size(ima);%将图像的点映射成m、n
    imt=zeros(size(ima));
    I=m*n;
    P=zeros(1,256);
    r=zeros(1,256);
    C=zeros(1,256);
    new_graydis=zeros(1,256);
    ima=double(ima);
    for i=1:m     %提取各灰度的像素数目
        for j=1:n
            r(ima(i,j)+1)=r(ima(i,j)+1)+1;
        end
    end
    P=r./sum(r);  %计算原图像直方图各灰度级的频数
    %计算累计分布函数
    for k=1:256
        for j=1:k
            C(1,k)=C(1,k)+P(1,j);
        end
    end
    %计算映射后的输出图像的灰度级
    for k=1:256
    C(1,k)=floor(255*C(1,k)+0.5);
    end
    %统计映射后各灰度级的像素数目
    for i=1:256
        new_graydis(1,C(1,i)+1)=new_graydis(1,C(1,i)+1)+r(1,i);
    end
    %计算直方图均衡后的新图
    for i=1:m
        for j=1:n
            imt(i,j)=C(1,(ima(i,j)+1));
        end
    end
    ima=uint8(ima);
    imt=uint8(imt);
    subplot(x,y,1);
    imshow(ima);title('原图像');
    subplot(x,y,2);
    imshow(imt);title('经过均衡处理的图像');
    figure;imhist(ima);%计算图像I的直方图并显示
    title('原图像的直方图');
    figure;imhist(imt);
    title('均衡化处理后图像的直方图');


摘   要:本实验分别使用强度变换和图像直方图两种方法进行图像增强试验,通过调整相关的参数来得到最好的图像可视化增强效果。强度变换方法分为对数变换和指数变换两种方式,通过实验结果来对比图像产生的差异并解释了产生差异的原因。讨论直方图均衡化技术,编写计算图像直方图的程序,用具体的图像增强案例验证直方图均衡化技术能够增强图像的原理。


一、实验目的

1 该实验使用强度变换方法对图像进行增强。实验图像为图3.8(a)

(1.a) 用公式(3.2-2)所示的对数变换方法进行图像增强。

(1.b) 用公式(3.2-3)形式的指数变换方法进行图像增强。

实验的目的是用(1.a)和(1.b)中的方法获得最好的可视化增强效果。根据你自己的判断调整参数,对每一个变换获得最好的可视化结果,并解释结果图像之间产生差异的主要原因。

2 变换获得最好的可视化结果,并解释结果图像之间产生差异的主要原因。

(2.a) 编写一个计算图像直方图的程序。

(2.b) 实现在3.3.1节中讨论的直方图均衡化技术。

(2.c) 对图3.8(a)进行直方图均衡化增强。

注:本实验报告中至少应包括:原始图像,原始图像的直方图,直方图均衡化变换函数图,增强后的图,增强后图像的直方图。用上述实验数据解释结果图像被增强的原因。

二、技术论述

1、使用强度变换方法对图像进行增强,强度变换分为对数变换和指数(伽马)变换两种运算方法对图像进行变换。

a、对数变换方法的通用形式:

其中c是一个常数,并设 。该变换将输入中范围较窄的低灰度值映射为输出较宽范围的灰度值,相反的对搞得输入也是一样。所以对数变换方法可以扩展图像中的暗像素的值并压缩更高灰度级的值。

b、指数(伽马)变换方法的通用形式:

其中r和γ是常数。部分γ的幂指数曲线可以将较窄范围内的暗色输入值映射为较宽范围的输出值,但当γ>1的值所生成的曲线和γ<1时所生成曲线的效果是完全相反的。

2、直方图是多种空间域处理技术的基础,可用于图像增强。直方图均衡化处理的原理是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布,对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。这样就增加了象素灰度值的动态范围从而可达到增强图像整体对比度的效果。当把给定图像灰度级量化为离散值后,进行直方图均衡化,令 其中j=0、1、2、…L-1,代表给定图像的灰度级直方图。在归一化直方图中,各个值大致是图像取各灰度级的概率,最后进行离散灰度求和,均衡化变换便成为以下形式:

式中,k=0、1、2、…,L-1,其中 是输出(处理后的)图像的灰度值。

3、需要用到MATLAB中的一些函数:

imadjust()

imadjust在数字图像处理中用于进行图像的灰度变换(调节灰度图像的亮度或彩色图像的颜色矩阵),该函数先将图像映射到[0 1],例如uint8类型的图像会先乘以255来决定实际应用中的值。

Imhist()

Imhist()是MATLAB函数计算图像I的直方图并显示。

调用格式:imhist(I)、imhist(I,n)、imhist(X,map)

mat2gray()

调用格式:I= mat2gray(A, [amin amax]),将图像矩阵A中介于amin和amax的数据归一化处理, 其余小于amin的元素都变为0,大于amax的元素都变为1。I = (A-amin)/(amax-amin)。

im2uint8()

函数功能: 把图像数据类型转换为无符号八位整型。如果输入图像是无符号八位整型的,返回的图像和源图像相同。如果源图像不是无符号八位整型的,该函数将返回和源图像相同但数据类型为uint8的图像。

四、实验结果讨论

通过对数变换程序对图像Fig3.08(a).jpg进行处理,分别取对数的系数C=20、40、80进行图像变换,得到如图1.1(a)、图1.1(b)、图1.1(c)三幅图片,通过观察对比可以知道当系数C越大时图像越清晰,亮度越大。


图1.1(a) 对数变换程序中C=20时图像变换结果


图1.1(b) 对数变换程序中C=40时图像变换结果

图1.1(c) 对数变换程序中C=80时图像变换结果


通过指数(伽马)变换程序对图像Fig3.08(a).jpg进行处理,当C取1,指数r分别取0.8,1.1,1.5时对应的指数变换得到如图1.2(a)、图1.2(b)、图1.2(c);当C取25,指数分别取0.4,0.9,1.5时对应的指数变换得到如图1.2(d)、图1.2(e)、图1.2(f)。观察两种情况下生成图像进行对比,可以得到当C一定时,指数r越大得到图像的增强的对比效果越强烈。但生成的图像同时受到C和r的影响。

图1.2(a) 指数变换程序C取1,r分别取0.8时生成的图像

图1.2(b) 指数变换程序C取1,r分别取1.1时生成的图像


图1.2(c) 指数变换程序C取1,r分别取1.5时生成的图像

图1.2(d) 指数变换程序C取25,r分别取0.4时生成的图像

图1.2(d) 指数变换程序C取25,r分别取0.9时生成的图像

图1.2(d) 指数变换程序C取25,r分别取1.5时生成的图像

用编写好的计算图像直方图的程序对图像Fig3.43(a).jpg进行处理,可以得到图像Fig3.43(a).jpg的直方图如图所示:

经过直方图均衡化程序对图像Fig3.08(a).jpg进行处理,原始图像和直方图均衡化变换后的图像对比如图2.1所示,原始图像的直方图如图2.2所示,增强后图像的直方图
如图2.3所示。观察对比可以看到直方图均衡化技术是通过把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布,从而可以对图像进行非线性拉伸,重新分配图像的像素值。

图2.1
 原始图像和直方图均衡化变换后的图像对比

 

 

图2.2 原始图像的直方图


图2.3 增强后图像的直方图

五、实验结论

通过实验结果的对比分析可知在强度变换图像中,对数变换图像时,当对数的系数C越大时图像越清晰,亮度越大。指数(伽马)变换处理图像时,当C一定时,指数r越大得到图像的增强的对比效果越强烈。但生成的图像同时受到C和r的影响,C越大图像的对比效果变化越快。直方图均衡化技术是利用改变图像的直方图分布来增强图像局部的对比度。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值