数字图像处理实验(全完整答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一常用MATLAB图像处理命令
一、实验目的
1 、熟悉并掌握MA TLAB 工具的使用;
2、实现图像的读取、显示、代数运算和简单变换。
二、实验环境
MATLAB 6.5 以上版本、WIN XP或WIN2000计算机
三、常用函数
读写图像文件
1 imread
imread 函数用于读入各种图像文件,如:a=imread('e:\w01.tif')
2 imwrite
imwrite 函数用于写入图像文件,如:imwrite(a,'e:\w02.tif', ’tif ’)
3 imfinfo
imfinfo 函数用于读取图像文件的有关信息,如:imfinfo('e:\w01.tif') 图像的显示
1 image
image 函数是MATLAB提供的最原始的图像显示函数,如:
a=[1,2,3,4;4,5,6,7;8,9,10,11,12];
image(a);
2 imshow
imshow 函数用于图像文件的显示,如:
i=imread('e:\w01.tif');
imshow(i);
title (‘原图像’)%加上图像标题
colorbar 函数用显示图像的颜色条,如:
i=imread('e:\w01.tif');
imshow(i);
colorbar;
4 figure
figure 函数用于设定图像显示窗口,如:figure(1) ;/figure(2) ;
5 subplot
把图形窗口分成多个矩形部分,每个部分可以分别用来进行显示。
Subplot (m,n,p)分成m*n个小窗口,在第p 个窗口中创建坐标轴为当前坐标轴,用于显示图形。
6 plot
绘制二维图形
plot (y)
Plot (x,y)xy 可以是向量、矩阵。
图像类型转换
1 rgb2gray
把真彩图像转换为灰度图像
i=rgb2gray (j )
2 im2bw
通过阈值化方法把图像转换为二值图像
I=im2bw(j ,level )
Level 表示灰度阈值,取值范围0~1(即0.n ),表示阈值取自原图像灰度范围的n%
改变图像的大小
I=imresize (j ,[m n] )将图像j 大小调整为m行n 列
图像运算
1 imadd
两幅图像相加,要求同样大小,同种数据类型
Z=imadd(x,y)表示图像x+y
2 imsubstract
两幅图像相减,要求同样大小,同种数据类型
Z=imsubtract (x,y)表示图像x-y
3 immultiply
Z=immultiply (x,y)表示图像x*y
4 imdivide
Z=imdivide (x,y)表示图像x/y
四、实验内容(请将实验程序填写在下方合适的位置,实验图像结果拷屏粘贴)
1、读入一幅RGB 图像,变换为灰度图像和二值图像,并在同一个窗口内分
成三个子窗口来分别显示RGB 图像和灰度图像,注上文字标题。
a=imread('f:\1.jpg')
i = rgb2gray(a)
I = im2bw(a,0.5)
subplot(3,1,1);imshow(a);title('原图像')
subplot(3,1,2);imshow(i);title(' 灰度图像')
subplot(3,1,3);imshow(I);title(' 二值图像')
2、对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。
a=imread('f:\1.jpg')
A=imresize(a,[800 800])
b=imread('f:\2.jpg')
B=imresize(b,[800 800])
Z1=imadd(A,B)
Z2=imsubtract(A,B)
Z3=immultiply(A,B)
Z4=imdivide(A,B)
subplot(3,2,1); imshow(A);title(' 原图像A')
subplot(3,2,2); imshow(B);title('原图像B')
subplot(3,2,3); imshow(Z1);title('加法图像')
subplot(3,2,4); imshow(Z2);title('减法图像')
subplot(3,2,5); imshow(Z3);title('乘法图像')
subplot(3,2,6); imshow(Z2);title('除法图像')
3、对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题。
a=imread('f:\1.jpg');
m = imadjust(a,[,],[0.5;1]) ;%图像变亮
n = imadjust(a,[,],[0;0.5]) ;%图像变暗
g=255-a;%负片效果
subplot(2,2,1);imshow(a);title('原图像')
subplot(2,2,2);imshow(m);title('图像变亮')
subplot(2,2,3);imshow(n);title('图像变暗')
subplot(2,2,4);imshow(g);title('负片效果')