数字图像处理实验报告(空间域图像增强)

csuname

实 验 报 告


1.实验目的

(1)了解空间域图像增强的各种方法(点处理、掩模处理);

(2)通过编写程序掌握采用直方图均衡化进行图像增强的方法;

(3)使用邻域平均法编写程序实现图像增强,进一步掌握掩模法及其改进(加门限法)

消除噪声的原理;

(4)总结实验过程(实验报告,左侧装订):方案、编程、调试、结果、分析、结论。

2.实验环境(软件、硬件及条件)

Windws7

MATLAB 6.x or above

3.实验方法

对如图 4.1 所示的两幅 128×128、256 级灰度的数字图像 fing_128.img 和 cell_128.img

进行如下处理:

(1)对原图像进行直方图均衡化处理,同屏显示处理前后图像及其直方图,比较异同,

并回答为什么数字图像均衡化后其直方图并非完全均匀分布。

(2)对原图像加入点噪声,用 4-邻域平均法平滑加噪声图像(图像四周边界不处理,

下同),同屏显示原图像、加噪声图像和处理后的图像。

      ①  不加门限;

  ② 加门限T=(1/2)*avg(f(m,n)), 其中avg(f(m,n)=(1/N^2)*f(i,j))

本次实验中的第一题,是对图像进行直方图统计和均衡化,在Matlab中有imhist()函数和histeq()函数直接调即可获得相应结果,代码如下:

close all;

clear all;

fid=fopen('cell_128.img','r');

image1=fread(fid,[128,128],'uint8');

image1=uint8(image1);

fclose(fid);

subplot(2,2,1);

%显示原图像

imshow(image1,[]);

title('原图像');

subplot(2,2,2);

%统计图像直方图

imhist(image1);

title('原图像直方图');

%直方图均衡化

ima=histeq(image1);

subplot(2,2,3);

%显示均衡化后的图像

imshow(ima);

title('直方图均衡化后图像');

subplot(2,2,4);

%显示直方图均衡化后的图像直方图

imhist(ima);

title('直方图均衡化后的直方图');

本次实验的第二题,是对图像进行加噪后平滑,噪声为点噪声,分别采用不加门限的四邻域平均法和加门限的四邻域平均法进行平滑。主要思想为:对于不加门限的四邻域平均法,对加噪后图像的每一像素(边界不考虑)的灰度值用其周围(上下左右)四个像素的灰度值的平均值代替;对于加门限的四邻域平均法,是对先对图像每一像素的灰度值进行判别,若该像素灰度值与四周(上下左右)四个像素灰度值的平均值之差大于门限T,则用四周四个像素灰度的平均值代替,否则保持该像素灰度值不变。

对图像分别加如随机点噪声,并分别对其进行平滑,实验代码如下:

close all;

clear all;

fid=fopen('fing_128.img','r');

image2=fread(fid,[128,128]);

% image2=uint8(image2);

fclose(fid);

subplot(2,2,1);

imshow(uint8(image2),[]);

title('原图像');

%为图像添加噪声

snoise=0.1*randn(size(image2));

J21=imadd(image2,snoise);        %添加随机点噪声

tmp21=J21;

subplot(2,2,2);

imshow(uint8(J21),[]);

title('加随机点噪声');

%对加随机点噪声的图像进行不加门限的四邻域法平滑

tmp21=J21;

for i=2:(size(J21,1)-1)

    for j=2:(size(J21,2)-1)

        tmp21(i,j)=(J21((i-1),j)+J21((i+1),j)+J21(i,(j-1))+J21(i,(j+1)))/4;

    end

end

subplot(2,2,3);

imshow(uint8(tmp21),[]);

title('随机噪声不加门限');

%对加随机点噪声的图像进行加门限的四邻域法平滑

N=128;

f=J21;

for x=1:size(J21,1)

    for y=1:size(J21,2)

        f=(1/N.*N)*(f+J21(x,y));

    end

end

T=(1/2)*f;

tmp23=J21;

for i=2:(size(J21,1)-1)

    for j=2:(size(J21,2)-1)

        tmp23(i,j)=(J21((i-1),j)+J21((i+1),j)+J21(i,(j-1))+J21(i,(j+1)))/4;

        if (J21(i,j)-tmp23(i,j))>T

            tmp23(i,j)=tmp23(i,j);

        else

            tmp23(i,j)=J21(i,j);

        end

    end

end

subplot(2,2,4);

imshow(uint8(tmp23),[]);

title('随机噪声加门限');

4.实验分析

(1)图像直方图统计及直方图均衡化结果如下:

图2.1

图2.2

由于在直方图均衡化的时候存在近似过程,所以存在误差,故均衡化后的直方图并不是完全均匀分布。

由图2.1和图2.2可以看出,直方图均衡化后的图像的对比度有了明显的提高。

(2)图像加噪及平滑结果如下(仅对fing进行处理):

图2.3

由图2.3可知,不加门限的四邻域平均法对于高斯噪声的平滑效果要好于对随机点噪声的平滑效果,但无论对哪种加噪图像而言,不加门限的四邻域平均法均会使图像变模糊,细节丢失;加门限的四邻域平均法对于随机点噪声的平滑效果要好于对高斯噪声的平滑效果,

总体效果均要好于不加门限的四邻域平均法。

5.实验结论

本次试验的主要内容为对图像进行直方图统计及均衡化,对图像加噪声以及应用两种平滑方法进行加噪后图像的平滑。

由第一题结果可知,直方图均衡化能有效的提高图像的对比度,使图像的信息更加丰富。

由第二题结果可知,不加门限的四邻域平均法可以在一定程度上消弱噪声,但同时也会是图像变模糊;加门限的四邻域平均法在噪声消除能力上与不加门限的四邻域平均法差不多,但却不会使图像模糊。故对于受点噪声污染的图像,加门限的四邻域平均法一般要比不加门限的四邻域平均法效果好。

附件

 

第二篇:《数字图像处理(实验部分)》实验3_点运算(直方图均衡化)

《数字图像处理(实验部分)》教案

      实验三:点运算(直方图均衡化)

 1.实验目的

1.掌握MATLAB 的基本操作。

2.了解数字图像处理在MATLAB中的基本处理过程。

      3.学习点运算的原理,观察算法处理结果

  2.实验设备

2.1.PC 兼容机一台;操作系统为WindowsWindowsXP。

2.2.数字图像处理开发环境:MATLAB软件

  3.实验原理

   直方图均衡化的算法原理

  4.实验步骤

.1 打开MATLAB开发环境

.2点击MATLAB窗口上File菜单,选择New-〉M—File,在弹出的Edit编辑器内输入如下程序:

%     I=imread('pout.tif');  % 读取MATLAB自带的potu.tif图像

I=imread('IMG0050A.jpg');  % 可改为读取MATLAB自带的pout.tif图像

 I=rgb2gray(I);

figure(1);

subplot(2,3,1),imshow(I);title('原图');

subplot(2,3,2),imhist(I);    

[J,T]=histeq(I,256);      % 图像灰度扩展到0~255,有256个灰度级

subplot(2,3,3),imshow(J);title('均衡1图');

subplot(2,3,4),imhist(J);

%figure,plot((0:255)/255,T); % 转移函数的变换曲线

J=histeq(I,32);% 图像灰度扩展到0~255,但是只有32个灰度级

subplot(2,3,5),imshow(J);   title('均衡2图');

subplot(2,3,6),imhist(J);

 .3将该程序保存,并点击工具栏中Run按钮,程序会自动运行,并显示出结果。广

 .4 观察处理结果

5.          实验结果

  原图灰度偏暗,经处理后,图像的对比度得到增强,改善了视觉效果。

             

                             均衡2后图

  6. 问题与思考

   总结MATLAB开发环境在使用上的特点,掌握其在实验中使用方法。

   改变程序中的某些参数,重新运行程序,观察会是什么结果。

相关推荐