数字图像处理实验报告(全部)

时间:2024.4.14

实验1直方图

一.实验目的

1.熟悉matlab图像处理工具箱及直方图函数的使用;

2.理解和掌握直方图原理和方法;

二.实验设备:1.PC机一台;2.软件matlab。

三.程序设计

在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。

I=imread('cameraman.tif');%读取图像

subplot(1,2,1),imshow(I)   %输出图像

title('原始图像')    %在原始图像中加标题

subplot(1,2,2),imhist(I) %输出原图直方图

title('原始图像直方图')  %在原图直方图上加标题

四.实验步骤

1. 启动matlab双击桌面matlab图标启动matlab环境;

2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;

3.浏览源程序并理解含义;

4.运行,观察显示结果;

5.结束运行,退出;

五.实验结果:观察图像matlab环境下的直方图分布。

               

(a)原始图像                           (b)原始图像直方图

六.实验报告要求

1、给出实验原理过程及实现代码:

I=imread('coins.png');%读取图像

subplot(1,2,1),imshow(I)   %输出图像

title('原始图像')    %在原始图像中加标题

subplot(1,2,2),imhist(I) %输出原图直方图

title('原始图像直方图')  %在原图直方图上加标题

2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。       

      

实验2 均值滤波

一.实验目的

1.熟悉matlab图像处理工具箱及均值滤波函数的使用;

2.理解和掌握3*3均值滤波的方法和应用;

二.实验设备:1.PC机一台;2.软件matlab

三.程序设计

在matlab环境中,程序首先读取图像,然后调用图像增强(均值滤波)函数,设置相关参数,再输出处理后的图像。

I = imread('cameraman.tif');

figure,imshow(I);

J=filter2(fspecial(‘average’,3),I)/255;

figure,imshow(J);

四.实验步骤

1. 启动matlab

双击桌面matlab图标启动matlab环境;

2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的图像增强(均值滤波)函数,设置参数;最后输出处理后的图像;

3.浏览源程序并理解含义;

4.运行,观察显示结果;

5.结束运行,退出;

五.实验结果:

观察matlab环境下原始图像经3*3均值滤波处理后的结果。

               

       (a)原始图像                           (b)3*3均值滤波处理后的图像

六.实验报告要求

输入一幅灰度图像,给出其图像经3*3均值滤波处理后的结果,然后对每一点的灰度值和它周围24个点,一共25个点的灰度值进行均值滤波,看看对25个点取均值与对9个点取中值进行均值滤波有什么区别?有没有其他的算法可以改进滤波效果。

               

              (a)原始图像                           (b)3*3均值滤波处理后的图像

实验3中值滤波

一.实验目的

1.熟悉matlab图像处理工具箱及中值滤波函数的使用;

2.理解和掌握中值滤波的方法和应用;

二.实验设备:1.PC机一台;2.软件matlab

三.程序设计

在matlab环境中,程序首先读取图像,然后调用图像增强(中值滤波)函数,设置相关参数,再输出处理后的图像。

I = imread('cameraman.tif');

figure,imshow(I);

J=medfilt2(I,[5,5]);

figure,imshow(J);

四.实验步骤

1. 启动matlab

双击桌面matlab图标启动matlab环境;

2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的图像增强(中值滤波)函数,设置参数;最后输出处理后的图像;

3.浏览源程序并理解含义;

4.运行,观察显示结果;

5.结束运行,退出;

五.实验结果

观察matlab环境下原始图像经3*3中值滤波处理后的结果。

            

(a)原始图像                        (b)3*3中值滤波处理后的图像

六.实验报告要求

输入一幅灰度图像,给出其图像经3*3中值滤波处理后的结果,然后对每一点的灰度值和它周围24个点,一共25个点的灰度值进行排序后取中值,然后该点的灰度值取中值。看看对25个点取中值与对9个点取中值进行中值滤波有什么区别?

          

                   (a)原始图像                       (b)3*3中值滤波处理后的图像

实验图像的缩放

一.实验目的

1.熟悉matlab图像处理工具箱及图像缩放函数的使用;

2.掌握图像缩放的方法和应用;

二.实验设备:1.PC机一台;2.软件matlab

三.程序设计

在matlab环境中,程序首先读取图像,然后调用图像缩放函数,设置相关参数,再输出处理后的图像。

I = imread('cameraman.tif');

figure,imshow(I);

scale = 0.5;

J = imresize(I,scale);

figure,imshow(J);

实验步骤

1. 启动matlab

双击桌面matlab图标启动matlab环境;

2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的图像缩放函数,设置参数;最后输出处理后的图像;

3.浏览源程序并理解含义;

4.运行,观察显示结果;

5.结束运行,退出;

五.实验结果

观察matlab环境下图像缩放后的结果。

            

(a)原始图像                         (b)缩放后的图像

六.实验报告要求

输入一幅灰度图像,给出其图像缩放后的结果,然后改变缩放比率,观察图像缩放后结果柄进行分析。

             

                    (a)原始图像                            (b)缩放后的图像

实验图像旋转

一.实验目的

1.熟悉matlab图像处理工具箱及图像旋转函数的使用;

2.理解和掌握图像旋转的方法和应用;

二.实验设备:1.PC机一台;2.软件matlab

三.程序设计

在matlab环境中,程序首先读取图像,然后调用图像旋转函数,设置相关参数,再输出处理后的图像。

I = imread('cameraman.tif');

figure,imshow(I);

theta = 30;

K = imrotate(I,theta); % Try varying the angle, theta.

figure, imshow(K)

四.实验步骤

1. 启动matlab

双击桌面matlab图标启动matlab环境;

2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的图像旋转函数,设置参数;最后输出处理后的图像;

3.浏览源程序并理解含义;

4.运行,观察显示结果;

5.结束运行,退出;

五.实验结果

观察matlab环境下图像旋转后的结果。

                

(a)原始图像                                    (b)旋转后的图像

六.实验报告要求

输入一幅灰度图像,给出其图像旋转后的结果,然后改变旋转角度,观察图像旋转后结果柄进行分析。

          

               (a)原始图像                                (b)旋转后的图像

实验6 数字图像的离散余弦变换

一.实验目的

1.验证二维傅里叶变换的平移性和旋转不变性;

2.实现图像频域滤波,加深对频域图像增强的理解;

二.实验设备

1.PC机一台;

2.软件matlab;

三.实验内容及步骤

(1)产生如图3.1所示图像(128×128大小,暗处=0,亮处=255),用MATLAB中的fft2函数对其进行FFT:

① 同屏显示原图的幅度谱图;

② 若令,重复以上过程,比较二者幅度谱的异同,简述理由;

③ 若将顺时针旋转45度得到,试显示的幅度谱,并与的幅度谱进行比较。

1.%生成图形f1

f1=zeros(128,128);

f1((64-30):(63+30),(64-10):(63+10))=1;

%FFT变换

fft_f1=log(1+abs(fftshift(fft2(f1))));

figure;

subplot(121);imshow(f1);title('Image f1');

subplot(122);imshow(fft_f1,[]);title('FFT f1');

2.%计算f2

f2=zeros(128,128);

for i=1:128;

    for j=1:128;

        f2(i,j)=((-1)^(i+j))*f1(i,j);

    end

end

fft_f2A=log(1+abs(fft2(f2)));

fft_f2B=log(1+abs(fftshift(fft2(f2))));

figure;

subplot(131);imshow(f2);title('Image f2');

subplot(132);imshow(fft_f2B,[]);title('FFT f2');

subplot(133);imshow(fft_f2A,[]);title('FFT f2 Without FFTShift');

分析:根据傅里叶变换对的平移性质:

时,有:

因此可得到:

所以,就是频谱中心化后的结果。

3.%计算f3

f3=imrotate(f2,-45,'nearest');

fft_f3=log(1+abs(fftshift(fft2(f3))));

figure;

subplot(121);imshow(f3);title('Image f3');

subplot(122);imshow(fft_f3,[]);title('FFT f3');

(2)对如图3.2所示的数字图像lena.img(256×256大小、256级灰度)进行频域的理想低通、高通滤波,同屏显示原图、幅度谱图和低通、高通滤波的结果图。

低通滤波:

fid=fopen('D:\matlab7\image\lena.img','r');

data=(fread(fid,[256,256],'uint8'))';

subplot(1,2,1)

imagesc(data);

colormap(gray);

title('LENA','Color','r');

fft_lena=fft2(data);

f=fftshift(fft_lena);

for i=1:256

for j=1:256

   if sqrt((i-128)^2+(j-128)^2)>30

         f(i,j)=0;

    end

  end

end

subplot(1,2,2);

 [x,y]=meshgrid(1:1:256);

surf(x,y,f)

高通滤波:

fid=fopen('D:\matlab7\image\lena.img','r');

data=(fread(fid,[256,256],'uint8'))';

subplot(1,2,1)

imagesc(data);

colormap(gray);

title('LENA','Color','r');

fft_lena=fft2(data);

for i=1:256

     for j=1:256

if sqrt((i-128)^2+(j-128)^2)<2

     f(i,j)=0;

  end

end

subplot(1,2,2);

[x,y]=meshgrid(1:1:256);

surf(x,y,f)

实验7 基于直方图均衡化的图像增强

一.实验目的

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

2.掌握采用直方图均衡化进行图像增强的方法;

3. 使用邻域平均法编写程序实现图像增强,进一步掌握掩模法及其改进(加门限法)消除噪声的原理;

二.实验设备

1.PC机一台;

2.软件matlab;

三.实验内容及步骤

对如图所示的两幅128×128、256级灰度的数字图像fing_128.img和cell_128.img进行如下处理:

(1)对原图像进行直方图均衡化处理,同屏显示处理前后图像及其直方图,比较异同,并回答为什么数字图像均衡化后其直方图并非完全均匀分布。

指纹图像:

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

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

im=uint8(im);

colormap(gray);

subplot(221);imshow(im); 

subplot(222);

imh=histeq(im);%直方图均衡化

imshow(imh);

subplot(223);imhist(im);

subplot(224);imhist(imh);

显微医学图像:

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

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

im=uint8(im);

colormap(gray);

subplot(221);imshow(im); 

subplot(222);

imh=histeq(im);%直方图均衡化

imshow(imh);

subplot(223);imhist(im);

subplot(224);imhist(imh);

分析:由于数字图像中像素的灰度值取值是离散和不连续的,因而变换后的像素灰度值在计算中出现了归并现象,所以变换后的直方图并不是呈完全均匀分布的。

(2)对原图像加入点噪声,用4-邻域平均法平滑加噪声图像(图像四周边界不处理,下同),同屏显示原图像、加噪声图像和处理后的图像。

① 不加门限;

② 加门限,(其中

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

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

im=im2double(uint8(im));

J=imnoise(im,'gaussian'); %加入高斯噪声

w=[0 0.25 0;0.25 0 0.25;0 0.25 0];

im_L=filter2(w,J);%四邻域平滑

%加门限后滤波

T=2*sum(J(:))/128^2;

im_T=zeros(128,128);

for i=1:128

    for j=1:128

        if abs(J(i,j)-im_L(i,j))>T

            im_T(i,j)=im_L(i,j);

        else

            im_T(i,j)=J(i,j);

        end

    end

end

colormap(gray);

subplot(2,2,1);imshow(im);title('Image');

subplot(2,2,2);imshow(J);title('Noise');

subplot(2,2,3);imshow(im_L);title('四邻域平滑后');

subplot(2,2,4);imshow(im_T);title('加门限后');

对高斯噪声的处理效果:

实验8 图像分割(常见的边缘检测算子——Sobel、Prewitt、Log)

一.实验目的

1.熟悉matlab图像处理工具箱及图像边缘检测函数的使用;

2.理解和掌握图像边缘检测(Sobel、Prewitt、Log边缘算子)的方法和应用;

二.实验设备

1.PC机一台;

2.软件matlab;

三.程序设计

在matlab环境中,程序首先读取图像,然后调用图像边缘检测(Sobel、Prewitt、Log边缘算子)函数,设置相关参数,再输出处理后的图像。

I = imread('cameraman.tif');

J1=edge(I,'sobel');

J2=edge(I,'prewitt');

J3=edge(I,'log');

subplot(1,4,1),imshow(I);

subplot(1,4,2),imshow(J1);

subplot(1,4,3),imshow(J2);

subplot(1,4,4),imshow(J3);

四.实验步骤

1. 启动matlab

双击桌面matlab图标启动matlab环境;

2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的边缘检测(Sobel边缘算子、Prewitt边缘算子、Log边缘算子)函数,设置参数;最后输出处理后的图像;

3.浏览源程序并理解含义;

4.运行,观察显示结果;

5.结束运行,退出;

五.实验结果

观察经过图像边缘检测(Sobel、Prewitt、Log边缘算子)处理后的结果。

六.实验报告要求

输入一幅灰度图像,给出其图像边缘检测(Sobel、Prewitt、Log边缘算子)后的结果并进行分析对比。

代码:

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

im=(fread(fid,[256,256],'uint8'))';

im=im2double(uint8(im));

im_R=edge(im,'Roberts');

im_P=edge(im,'Prewitt');

im_S=edge(im,'Sobel');

im_L=edge(im,'Log');

colormap(gray);

subplot(321);imshow(im);title('源图像');

subplot(323);imshow(im_R);title('Roberts检测');

subplot(324);imshow(im_P);title('Prewitt检测');

subplot(325);imshow(im_S);title('Sobel检测');

subplot(326);imshow(im_L);title('Log检测');

更多相关推荐:
数字图像处理 实验报告(完整版)

数字图像处理实验一MATLAB数字图像处理初步一显示图像1利用imread函数读取一幅图像假设其名为lilytif存入一个数组中2利用whos命令提取该读入图像flowertif的基本信息3利用imshow函数...

图像恢复(数字图像处理实验报告)

数字图像处理作业图像恢复摘要数字图像恢复是数字图像处理的一个基本的和重要的课题它是后期图像处理分析和理解的前提图像在摄取传输储存的过程中不可避免地引起图像质量的下降图像退化图像恢复就是试图利用退化过程的先验知识...

数字图像处理实验报告

数字图像处理与分析课程设计20XX~20XX学年第二学期院(系)计算机科学与通信工程专业计算机科学与技术班级计算机1201学号学生姓名指导老师**一.实验目的:熟悉数字图像处理中各种椒盐噪声的实质,明确各种滤波…

数字图像处理实验报告

数字图像处理实验报告专业计算机科学与技术学号11101115姓名王晓东实验一数字图像的读入与显示实验目的了解opencv的开发环境设置读取并显示一幅图像掌握Imreadimwriteimshow的使用掌握ope...

数字图像处理实验报告

电子科技大学中山学院电子信息学院学生实验报告注实验报告不得少于2页不得超过5页电子科技大学中山学院电子信息学院学生实验报告电子科技大学中山学院电子信息学院学生实验报告电子科技大学中山学院电子信息学院学生实验报告

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

实验报告实验名称课程名称空间域图像增强数字图像处理姓名成绩班级学号日期地点1实验目的1了解空间域图像增强的各种方法点处理掩模处理2通过编写程序掌握采用直方图均衡化进行图像增强的方法3使用邻域平均法编写程序实现图...

数字图像处理实验报告

数字图像处理实验报告实验一图像的几何变换一P200一图像平移一实验目的对图像进行平移二实验步骤Iimread39beautyjpg39subplot211imshowItitle39原图39a为垂直移动b为水平...

数字图像处理实验报告(图像灰度变换处理)

数字图像处理实验报告班级姓名学号数字图像处理实验报告一实验名称图像灰度变换二实验目的1学会使用Matlab2学会用Matlab软件对图像灰度进行变换感受各种不同的灰度变换方法对最终图像效果的影响三实验原理Mat...

数字图像处理实验报告4

实验四数字图像的频域滤波1实验目的1掌握傅立叶变换及逆变换的基本原理方法2理解频域滤波的基本原理及方法3掌握进行图像的频域滤波的方法2实验基本原理1频域增强频域增强是利用图像变换方法将原来的图像空间中的图像以某...

mattlab《数字图像处理》实验报告02

GDOUB11112广东海洋大学学生实验报告书学生用表实验名称图像的空域与频域增强学院系学生姓名课程名称数字图像处理实验地点课程号19xx2504班级实验日期121019学号专业一实验目的1熟练运用Matlab...

数字图像处理实验2

本科实验报告课程名称数字图像处理实验项目实验三图像压缩编码技术实验地点起点机房专业班级通信1002学号学生姓名邢增瑛指导教师续欣莹20xx年6月9日实验三图像压缩编码技术一实验目的1理解有损压缩和无损压缩的概念...

数字图像处理报告 图像二值化

数字图像处理实验报告实验二灰度变换实验目的通过实验掌握灰度变换的基本概念和方法实验内容掌握基本的灰度变换图像反转对数变换幂次变换和二值化1图像反转对数变换幂次变换Iimread39fengjingjpg39Ji...

数字图像处理实验报告(28篇)