北科大数字图像处理实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北京科技大学计算机与通信工程学院

实验报告

实验名称:《数字图像处理》课程实验

****:***

专业:计算机科学与技术

班级:计1304

学号:********

****:***

实验成绩:

实验时间:2016 年12 月15 日

一、实验目的与实验要求

1、实验目的

1. 熟悉图像高斯、脉冲等噪声的特点,以及其对图像的影响;

2. 理解图像去噪算法原理, 并能编程实现基本的图像去噪算法, 达到改善图像质量的效果, 并能对算法性能进行简单的评价。

3. 理解图像分割算法的原理,并能编程实现基本的灰度图像分割算法,并显示图像分割结果。

2、实验要求

1. 对于给定的两幅噪声图像(test1.jpg, test

2.jpg), 设计或选择至少两种图像滤波算法对图像进行去噪。

2. 利用给出的参考图像(org1.jpg, org2.jpg), 对不同算法进行性能分析比较。

3. 对于给定的两幅数字图像(test.jpg,test

4.jpg),将其转换为灰度图像,设计或选择至少两种图像分割算法对图像进行分割,用适当的方式显示分割结果,并对不同算法进行性能分析比较。

二、实验设备(环境)及要求

1. Mac/Windows计算机

2. Matlab编程环境。

三、实验内容与步骤

1、实验1

(1)实验内容

1. 对于给定的两幅噪声图像(test1.jpg, test

2.jpg), 设计或选择至少两种图像滤波算法对图像进行去噪。

2. 利用给出的参考图像(org1.jpg, org2.jpg), 对不同算法进行性能分析比较。(2)主要步骤

1. 打开Matlab 编程环境;

2. 利用’imread’函数读入包含噪声的原始图像数据;

3. 利用’imshow’函数显示所读入的图像数据;

结果显示:

4. 编码实现图像滤波算法,对原始噪声图像进行滤波处理;

分别用均值滤波,中值滤波和维纳滤波如下:

代码:

J=imread('test1.jpg');

%h=ones(4,4)/16;%产生4*4的全1数组

%B=conv2(J,h);%卷积运算

K2=filter2(fspecial('average',4),J)/255; %均值滤波模版尺寸为4 K= medfilt2(J);%采用二维中值滤波函数进行滤波

K1=wiener2(J,[4 4]); %对噪声图像进行二维自适应维纳滤波subplot(2,2,1);imshow(J);

title('加噪图像');

subplot(2,2,2);imshow(K2);

title('均值滤波后的图像');

subplot(2,2,3);imshow(K);

title('中值滤波后的图像');

subplot(2,2,4);imshow(K1);

title('维纳滤波后的图像');

imwrite(K2,'均值滤波图像.jpg','quality',100);

imwrite(K,'中值滤波图像.jpg','quality',100);

imwrite(K1,'维纳滤波图像.jpg','quality',100);

处理结果如下:

细节如下:

原始图像均值滤波

中值滤波维纳滤波:对图像二的处理结果:

原始图像均值滤波

中值滤波维纳滤波

5. 计算滤波后图像与原图的差异(如PSNR、MSE 等); J=imread('test1.jpg');

J2=imread('org1.jpg');

%h=ones(4,4)/16;

%B=conv2(J,h);

K2=filter2(fspecial('average',4),J)/255; %均值滤波K= medfilt2(J);% 采用二维中值滤波函数进行滤波

%计算均值滤波后图像对比对照图像的PMSE和PSNR

diff1=(double(J2)-(K2)).^2;

mse1=mean(diff1(:));

psnr1=double(10*log10(255^2/mse1));

%计算中值滤波后图像对比对照图像的PMSE和PSNR

M=double(K);

diff2=(double(J2)-(M)).^2;

mse2=mean(diff2(:));

psnr2=double(10*log10(255^2/mse2));

结果:

对于test1.jpg

均值滤波:MSE=1.6391e+04,PSNR=5.9848

中值滤波:MSE=251.4171,PSNR=24.1269

对于test2.jpg

均值滤波:MSE=1.7382e+04,PSNR=5.7550

中值滤波:MSE=31.1728,PSNR=33.1931

实验2

(1)实验内容

对图像进行分割并显示。

(2)主要步骤

1. 打开Matlab编程环境。

2. 利用‘imread’函数读入包含噪声的原始图像数据。

>> I=imread('test3.jpg');

3. 利用‘imshow’函数显示所读入的图像数据。

>> imshow(I);

相关文档
最新文档