数字图像Matlab实验操作手册

上传人:liy****000 文档编号:133257139 上传时间:2020-05-25 格式:DOC 页数:35 大小:1.60MB
返回 下载 相关 举报
数字图像Matlab实验操作手册_第1页
第1页 / 共35页
数字图像Matlab实验操作手册_第2页
第2页 / 共35页
数字图像Matlab实验操作手册_第3页
第3页 / 共35页
数字图像Matlab实验操作手册_第4页
第4页 / 共35页
数字图像Matlab实验操作手册_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《数字图像Matlab实验操作手册》由会员分享,可在线阅读,更多相关《数字图像Matlab实验操作手册(35页珍藏版)》请在金锄头文库上搜索。

1、数字图像Matlab实验目录1. Matlab 7.6简单入门11.1启动11.2 Matlab的使用方式11.3交互方式的使用11.4 Matlab的程序工作方式11.5基本命令21.6基本函数21.7 数据类型及运算21.8 Matlab程序控制流3实验1 Matlab基本运算5实验2 认识数字图像5实验3 图像增强10实验4 彩色图象处理14实验5 图像变换17实验6 频域图像增强21习题6.1 理想低通(高通)滤波器21习题6.2 Butterworth滤波器22实验7 图像编码23实验8 图像分析23习题8.1 印刷体字符识别23习题8.2 手写体字符识别331. Matlab 7.

2、6简单入门1.1启动点击Matlab/bin/matlab.exe, 打开Matlab的工作窗(或指令窗)1.2 Matlab的使用方式指令行操作之直接交互工作方式;使用matlab编程语言之程序设计方式.1.3交互方式的使用在Matlab工作窗(如图1所示,Command Window)中一般输入以下三种指令行:命令表达式赋值语句:变量=表达式图1 Matlab工作窗1.4 Matlab的程序工作方式step 1. FileNewM-file %打开Matlab程序工作窗Editor/Debuggerstep 2. 编写Matlab程序;ToolsRun1.5基本命令quit%退出Matla

3、bclc %清除指令窗口clear%从内存中清除变量和函数clf%清除当前图pack%合并工作内存中的碎块dir%列出文件cd%改变或显示当前工作目录disp%显示矩阵和文字内容size%确定矩阵的维数demo%演示程序help%在线帮助delete%删除文件whos%列出工作内存中的变量细节xpimage%图像处理性能的演示imagedemo%同上p = .%定义一个字符串变量myArray %生成一维数组arrayName(n) %调用一维数组的第n个元素;arrayName(n1:n2) %引用一维数组的第n1到第n2个元素arrayName(n1 n2)) %引用一维数组中第n1和第n

4、2个元素myArray=123445;2324356;54678788;. %定义一个二维数组arrayName(m,n); %引用二维数组的第m行n列的元素arrayName(m,:); %引用二维数组的第m行的所有列元素arrayName(m1:m2,n) %引用二维数组中第n列中第m1行到m2行的元素plot %二维绘图函数hist %绘制直方图1.6基本函数figure%创建图形窗口figure(n) %创建单个图形窗口,且该窗口编号为nsubplot(mnp)%创建多重子窗口image %创建图形窗口imshow%显示图像figure imshow(f) %保留第一幅图像并输出第二幅

5、图像colormap%设置配色图rgb2hsv%将rgb图像转换成hsv图像hsv2rgb%将hsv图像转换成rgb图像rgb2ycbcr%将rgb图像转换成ycbcr图像ycbcr2rgb%将ycbcr图像转换成rgb图像abs%幅值fft2%二维快速Fourier变换ifft2%二维快速Fourier反变换log%自然对数dct2%二维快速余弦变换idct2%二维快速余弦反变换image%与imshow相似imfinfo%显示图像参数1.7 数据类型及运算1)Matlab的基本数据类型为矩阵(实数皆看成1的矩阵),矩阵的基本运算同线性代数A+B%矩阵相加A- B %矩阵相减A*B %矩阵相

6、乘A.*B %矩阵对应元素相乘2)标量与矩阵进行运算的规定S+B=sE+B s-B=sE-BB- s=B-sEs*B=sE*B3)其他运算inv(B)=B-1An=An, A.n=(aijn)exp(A)=(exp(aij)log(A)=(log(aij)f(A)=(f(aij)A=A/4)矩阵的输入直接输入A=1 2 3; 4 5 6; 7 8 9矩阵编辑器edit A5)指令行结果的输出(有如下三个要点)指令行后有分号, 不输出结果指令行后无分号, 输出运算结果表达式后按回车, 则ans=之后, 给出结果6)冒号运算符设A是m*n矩阵B=A(:,r) %由第r列元素组成的矩阵B=A(s,:

7、) %由第s行元素组成的矩阵B=A(s1:s2,r1:r2) %取A的子矩阵B=A(1 3 5,:) %由A的1,3,5行组成的矩阵7)给矩阵作标志L=X=0.5; %标志矩阵X中其值小于0.5的元素的位置(小于0.5的元素替换为1, 其余为零,作成一个新矩阵)8)Laplacian算子del2( )%五点离散拉普拉斯算子1.8 Matlab程序控制流1)注释%号为串首元素的一行字符串2)循环结构for-endwhile-endfor 循环变量=循环初值:增量值:循环终值语句组endwhile 逻辑表达式语句组end3)分支结构if-else-endswitch-case-endif 逻辑表达

8、式语句体1else语句体2endswitch 表达式case value1语句体1case valueN语句体Notherwise语句体N+1end实验1 Matlab基本运算习题1.1 四则运算.习题1.2 矩阵运算.实验2 认识数字图像imfinfo(test.jpg) %显示图像文件1.jpg的属性习题2.1 读一幅图像(灰度值图像或彩色图像), 研究其图像参数.A=imread (test.jpg); %读图像1.jpg,并将像素值阵列赋给矩阵Aimshow(A); %显示图像AA %显示图像A的像素值(若图像过大,显示时间就会过长,按ctrl+C终止)whos %显示内存中各变量的类

9、型,包括A显示图像A的一个局部:B=A(1:100,1:100,:);C= A(101:200, 101:200,:);imshow(B);imshow(C);subplot(1,3,1),imshow(A);subplot(1,3,2),imshow(B);subplot(1,3,3),imshow(C);习题2.2 读一幅彩色图像,以灰度值图像的形式显示其RGB各分量,并比较之.B=imread(test.jpg); %读彩色图像test.jpg,并将像素值阵列赋给矩阵Bimshow(B); %显示图像BB %显示图像B的像素值whosBR=B(:,:,1);%B的红色分量BG=B(:,:

10、,2);%B的绿色分量BB=B(:,:,3);%B的蓝色分量imshow(BR);imshow(BG);imshow(BB);whos%将三幅图像放在一起进行比较:subplot(1,3,1),imshow(BR);subplot(1,3,2),imshow(BG);subplot(1,3,3),imshow(BB);习题2. 读一幅彩色图像,以彩色图像的形式显示其RGB各分量,并比较其异同.BRR=B;BRR(:,:,2)=0;%去掉B的绿色分量BRR(:,:,3)=0; %去掉B的蓝色分量imshow(BRR);BGG=B;BGG(:,:,1)=0;BGG(:,:,3)=0; %去掉B的红

11、、蓝色分量imshow(BGG);BBB=B;BBB(:,:,1)=0;BBB(:,:,2)=0; %去掉B的红、绿色分量imshow(BBB);%将三幅图像放在一起进行比较:subplot(1,3,1),imshow(BRR);subplot(1,3,2),imshow(BGG);subplot(1,3,3),imshow(BBB);习题2. 读一幅彩色图像,进行颜色模式转换,以灰度值图像的形式显示其HSI各分量,并比较其异同.C=rgb2hsv(B);%将彩色图像进行模式转换H=C(:,:,1);S=C(:,:,2);I=C(:,:,3);imshow(H);%显示B的色度分量imshow

12、(S);%显示B的饱和度分量imshow(I);%显示B的亮度分量习题2.6 研究imwrite,将一个矩阵里的数据写进一个jpg图像文件里.习题2.7 傅立叶变换与滤波total_time_t=10;%总时间dalta_t=0.01;%采样间隔frequency=1/ dalta_t;dalta_u=frequency /N;N= total_time_t / dalta_t;%采样点数t=0: dalta_t: total_time_t;y=sin(2*pi*t)+sin(4*2*pi*t)+sin(8*2*pi*t);subplot(4,1,1);plot(t,y);%显示10秒原始信号

13、ffty=fft(y);%y的傅立叶变换u=N/2+1;%取y的傅立叶变换数据用于显示half_ffty= ffty (1:u);i=0: frequency /N: frequency /2; % frequency/N为频率域空间采样频率subplot(4,1,2);plot(i,abs(half_ffty);%显示信号的傅立叶变换h=5;w=4;%清除频率为4的信号,清除宽度为hffty (N-w/dalta_u-h:N-w/dalta_u+h)=0;ffty (w/dalta_u-h:w/dalta_u+h)=0;w=8; %清除频率为8的信号,清除宽度为hffty (N-w/dalta_u-h:N-w/dalta_u+h)=0;ffty (w/dalta_u-h:w/dalta_u+h)=0;half_ffty = ffty (1:u);subplot(4,1,3);plot(i,abs(half_ffty);%显示滤波以后的信号的频谱 z=ifft(ffty);subplot(4,1,4);plot(t,real(z); %显示滤波以后的信号习题2.8 对图象进行压扩变换%clear all;I=imread(A.jpg);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号