多媒体实验图像滤波.doc
文本预览下载声明
多媒体实验报告——图像滤波
一、实验目的
通过本章的课程设计,加深对数字图像滤波知识的理解,并获得如何处理图像的实际经验,达到以下目的
1、熟练使用matlab进行图像的读取和显示;
2、了解各种图像滤波的方法;
3、掌握图像滤波的编程方法。
二、实验内容
1、完成实验指导书5.2节的内容,掌握图像滤波的方法;
2、在以上基础上完成下列程序的编写:
练习1:完成p122页程序,将程序命名为threshold.m。(注:lena图像在本版本matlab中没有,本实验的索引图像可采用trees.tif)
程序如下:
k=0.15;
[x,map]=imread(trees.tif);
I=ind2gray(x,map);
I=double(I);
Imax=max(max(I));
Imin=min(min(I));
Idelta=Imax-Imin;
level1=k*Idelta+Imin;
level2=2*k*Idelta+Imin;
level3=3*k*Idelta+Imin;
TI1=max(I,level1.*ones(size(I)));
TI2=max(I,level2.*ones(size(I)));
TI3=max(I,level3.*ones(size(I)));
subplot(2,2,1);imshow(I,[]);
Xlabel((a)原始图像,FontSize,14,FontName,隶书,color,b);
subplot(2,2,2);imshow(TI1,[]);
Xlabel((b)15%的阈差图像,FontSize,14,FontName,隶书,color,b);
subplot(2,2,3);imshow(TI2,[]);
Xlabel((c)30%的阈差图像,FontSize,14,FontName,隶书,color,b);
subplot(2,2,4);imshow(TI3,[]);
Xlabel((d)45%的阈差图像,FontSize,14,FontName,隶书,color,b);
Matlab图像读取如下:
练习2:改写练习1的程序,本次处理的图像为灰度图像。(注:图像可采用pout.tif)
程序如下
k=0.15;
X=imread(pout.tif);
I=double(X);
Imax=max(max(I));
Imin=min(min(I));
Idelta=Imax-Imin;
level1=k*Idelta+Imin;
level2=2*k*Idelta+Imin;
level3=3*k*Idelta+Imin;
TI1=max(I,level1.*ones(size(I)));
TI2=max(I,level2.*ones(size(I)));
TI3=max(I,level3.*ones(size(I)));
subplot(2,2,1);imshow(X);
Xlabel((a)原始图像,FontSize,14,FontName,隶书,color,b);
subplot(2,2,2);imshow(TI1,[]);
Xlabel((b)15%的阈差图像,FontSize,14,FontName,隶书,color,b);
subplot(2,2,3);imshow(TI2,[]);
Xlabel((c)30%的阈差图像,FontSize,14,FontName,隶书,color,b);
subplot(2,2,4);imshow(TI3,[]);
Xlabel((d)45%的阈差图像,FontSize,14,FontName,隶书,color,b);
Matlab图像读取如下:
练习3:改写练习1的程序,本次处理的图像为彩色图像。(注:图像可采用 football.jpg;用rgb2gray()命令将其转换为灰度图像)
程序如下:
k=0.15;
X=imread(football.jpg);
I=rgb2gray(X);
I=double(I);
Imax=max(max(I));
Imin=min(min(I));
Idelta=Imax-Imin;
level1=k*Idelta+Imin;
level2=2*k*Idelta+Imin;
level3=3*k*Idelta+Imin;
TI1=max(I,level1.*ones(size(I)));
TI2=max(I,level2.*ones(size(I)));
TI3=max(I,level3.*ones(size(I)));
subplot(2,2,1);imshow(X);
Xlabel((a)原始图像,FontSize,14,FontName,隶书,color,b);
subplot(
显示全部