ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:90.26KB ,
资源ID:10923609      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10923609.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(matlab学习笔记入门.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

matlab学习笔记入门.docx

1、matlab学习笔记入门数据类:double,unit8,unit16,unit32,int8,int16,int32,single,char,logical!Matlab中所有数值计算都可以用double类来进行!,unit8实际中最常用的图像图像类型:亮度图像,二值图像,索引图像,RGB图像亮度图像:是数据矩阵,若是unit8或uint16则是【0,255】或者是【0,65535】,若是double类,则像素取值是浮点数二值图像只有:0和1的逻辑数组!、 简单操作:读图并显示详细情况 f=imread(E:imagebook.pgm);whos Name Size Bytes Class

2、Attributes f 289x338 97682 uint8 将图像垂直翻转: f=imread(E:imagebook.pgm);fp=f(end:-1:1, : );imshow(fp)将图像上下左右翻转: f=imread(E:imagebook.pgm);fc=f(end:-1:1,end:-1:1);imshow(fc)将图像二次采样并显示详情: fs=f(1:2:end,1:2:end);imshow(fs) whos fs Name Size Bytes Class Attributes fs 145x169 24505 uint8 将图像取出一部分: fg=f(200:25

3、0,200:300);imshow(fg)显示图像中的一条水平扫描线: plot(f(200, : )将两幅图像进行相乘: f=imread(c:imageliangdian.jpg);g=imread(c:imageshuiguo.jpg);g=g(300:715,500:1149);f=f(1:416,1:650);fd=double(f);gd=double(g);p=fd.*gd;数组乘!pmax=max(p(:);pmin=min(p(:);取最大最小值!pn=mat2gray(p);figure,imshow(pn)亮度变化:函数imadjust是对灰度图像进行亮度变化的基本ipt

4、工具:g=imadjust(f, low-in high-in,low-in high-in,gamma)Gamma为1线性映射,大于1,则映射被加权至更低(更暗的)输出值,小于一,加权至更高的输出值明暗反转图像(负片)参数不同: f=imread(E:imagebook.pgm);g=imadjust(f, 0 1,1 0 );imshow(g) f=imread(E:imagebook.pgm);g=imadjust(f, 0 1,1 0 ,2);imshow(g) f=imread(E:imagebook.pgm);g=imadjust(f, 0 1,1 0 ,0.5);imshow(g

5、)另外也可以这样:进行明暗反转:g=imcomplement(f);imshow(g)将0.5到0.75之间的灰度级拓展到0-1,可用于突出我们感兴趣的亮度带g2= g2=imadjust(f,0.5 0.75,0 1);imshow(g2) 这个类似上面语句,但又更多的灰色调,方法是压缩灰度级的低端并扩展灰度级的高端g3=imadjust(f,2);imshow(g3)对数和对比度拉伸变换:对数变换通过此式子完成:g=c*log(1+double(f)对8比特而言,最简便: gs=im2uint8(mat2gray(g)使用mat2gray可将值限定在0-1之间,im2uint可将值限定在0

6、-255之间使用对数变化减小动态范围: g=im2uint8(mat2gray(log(1+double(f);imshow(g)图像g与原图像相比,在视觉方面的改善效果是非常明显的函数intrans:建立一个函数intrans,利用对比度拉伸方法得到增强图像然后在主界面输入: f=imread(E:imagebook.pgm);g=intrans(f,stretch,mean2(im2double(f),0.9);figure,imshow(g)函数gscale,亮度标度的函数:g=gscale(f,method, low,high)处理图像时,即管中间没问题,但想利用8比特或者16比特格式

7、包村或查看一副图像时会出现问题,则要将图像调度在全尺度。将彩色图像变成灰度图像并变小: I=imread(d:imagetupian2.jpg);whos I Name Size Bytes Class Attributes I 1000x666x3 1998000 uint8 I=imread(d:imagetupian2.jpg);f=rgb2gray(I);s=f(1:2:end,1:2:end);imshow(s) whos s Name Size Bytes Class Attributes s 500x333 166500 uint8 生成并绘制图像的直方图: 把pgm图像的直方图

8、显示出来: h= imhist(f,b)b适用于形成直方图的收集箱的个数,即灰度级的个数 f=imread(E:imagebook.pgm);imhist(f)把彩色图片变成灰度图像再进行显示其直方图: I=imread(d:imagetupian2.jpg);f=rgb2gray(I);imhist(s)直方图经常使用条形图来进行显示:Bar(horz,v, width)width为1竖条较明显,为零时是简单的垂直线。默认为0.8V是一个行向量,它包含将被绘制的点;下面的语句将生成一幅条形图,其水平轴以10个灰度级为一组: f=imread(E:imagebook.pgm);h=imhist

9、(f);h1=h(1:10:256);horz=1:10:256;bar(horz,h1) axis(0 255 0 1200) set(gca,xtick,0:50:255) set(gca,ytick,0:200:1200)函数axis:axis(xmin xmax ymin ymax) 用来标注输出的图线的最大值最小值。 其中,xmin xmax ymin ymax用来表示需要显示坐标的范围,xmin、xmax、ymin、ymax分别表示X、Y轴坐标最小和最大值。gca 表示获得当前轴,xtick和ytick按所示的间隔设置水平轴和垂直轴的刻度利用title函数可以给图形加入标题:tit

10、le(titlestring)内为标题处出现的字符串,把语句加在上面语句之后即可绘制杆状图: f=imread(E:imagebook.pgm); h1=h(1:10:256); horz=1:10:256; stem(horz,h1,fill) axis(0 255 0 1200) set(gca,xtick,0:20:255) set(gca,ytick,0:100:1200)绘制plot图形:使用函数plot(horz,v,color-linestyle-maker)可以自动设定坐标轴的取值范围和刻度线,此时我们使用以下函数: ylim(auto) xlim(auto)直方图均衡化:灰度

11、级均衡化处理的最终结果是一幅扩展了的动态范围的图像,它具有较高的对比度,注意该变换函数只不过是一个累积分布函数使用直方图并调用直方图均衡化技术来处理离散灰度级时,一般说来,处理后的图像的直方图将不再均匀,这源于变量的离散属性。直方图均衡化使用函数histeq(f,nlev) imshow(f); figure ,imhist(f); ylim(auto) g=histeq(f,256); figure,imshow(g) figure,imhist(g)ylim(auto)空间滤波:线性空间滤波(暂缓)subplot(m,n,p)的意思:plot是图的意思,sub是子的意思。subplot(m

12、,n,p)生成m*n个子图,当前激活第p个子图。彩色图像不能直接进行傅立叶变换,图像处理中很多情况下都是把一幅彩色图像分成三个类似灰度图像(一般是red,green,blue)来进行处理的。至于进行傅立叶变化,可以直接对灰度图像进行二维傅立叶变换fft2,但是结果仍需要处理才能更容易理解和观察。高斯模糊是低通滤波的一种,也就是滤波函数是高斯函数,由于理想低通滤波会带来振铃现象,所以往往采用巴特尔茨或者高斯函数作为滤波函数。高斯滤波是指用高斯函数作为滤波函数,至于是不是模糊,要看是高斯低通还是高斯高通,低通就是模糊,高通就是锐化高斯平滑滤波: img=imread(e:imageshuiguo.

13、jpg);f=rgb2gray(img);彩图变成灰度图像subplot(1,2,1);创建子图 imshow(f); 并在子图中的一行一列显示灰度图ff=double(f); 把其他类型对象转换为双精度数值f=fft2(f); 二维离散Fourier变换f=fftshift(f); 直流分量对中的谱,简化频谱的视觉效应,函数fftshift通过交换F的象限来操作,若a=【 1 2;3 4】则fftshift(a)=【4 3;2 1 】在变化计算后使用fftshift的结果与在计算变换前将输入图像乘以(-1)的x+y次方所得结果是相同的,但不可以互换!m,n=size(f); size取矩阵的

14、大小d0=80;m1=fix(m/2);fix向零取整n1=fix(n/2);fix向零取整for i=1:m for j=1:nd=sqrt(i-m1)2+(j-n1)2);h(i,j)=exp(-d2/2/d02);endendg=f.*h;g=ifftshift(g);g=ifft2(g);g=mat2gray(real(g); real表示复数的实部,ifft的输出实际上都会有很小的虚部分量,因此要提取结果的虚部mat2gray实现图像矩阵的归一化操作。1 所谓归一化就是使矩阵的每个元素的值都在0和1之间。该函数在数字图像处理中经常用到。 subplot(1,2,2);imshow(g

15、);imwrite(img,2.jpg);Do变小图像变得更加模糊了原理?频域处理:计算并可视化二维DFT; f=imread(e:imageheibai.jpg);subplot(1,2,1);imshow(f);g=fft2(f);快速傅立叶变换函数fft:F=fft2(f);使用傅立叶进行滤波时,需要对输入数据进行零填充则:F=fft2(f,P,Q)使用所要求的0的个数对输入图像进行填充,以便结果函数的大小为p*qg=fftshift(g);subplot(1,2,2);imshow(abs(g),) s=log(1+abc(g);imshow(s,)傅立叶频谱可以使用函数abs来获得:

16、s=abs(f)该函数计算数组的每一个元素的幅值(实部和虚部平方和的平方根);下面为计算他的傅立叶变换并显示其频谱:F=fft2(f);S=abs(F);imshow(S,)不理想因此在该例中键入:Fc=fftshift(F);% fc为已居中的变换。Imshow(abs(Fc),);%居中后的图像很明显但是该频谱中值的动态范围与比特显示相比要大得多因此我们使用对数变化来处理该问题: s2=log(1+abs(fc);subplot(1,4,4);imshow(s2,)可视细节的增加就变得很明显了!总体显示如下;f=imread(e:imageheibai.jpg);subplot(1,4,1

17、);imshow(f);g=fft2(f);s=abs(g);subplot(1,4,2);imshow(s,);fc=fftshift(s);subplot(1,4,3);imshow(abs(fc),);s2=log(1+abs(fc);subplot(1,4,4);imshow(s2,) im2bw( ) 将真彩色、索引色和灰度图像转换为二值图像。 load treesBW=im2bw(X,map,0.4);imshow(X,map),figure,imshow(BW)ind2gray( )将索引色图像转换为灰度图像。 load treesJ=ind2gray(X,map);imshow

18、(X,map),figure,imshow(J)ind2rgb( ) 将索引色图像转换为真彩色图像。load treesJ=ind2rgb(X,map);imshow(X,map),figure,imshow(J)mat2gray( ) 将数据矩阵转换为灰度图像。rgb2gray( ) 将真彩色图像转换为灰度图像。rgb2ind( ) 将真彩色图像转换为索引色图像。 把彩色图像转化为灰度图像之后对图像进行直方图均衡化(改善视觉效果) f=imread(e:imageshuiguo.jpg);g=rgb2gray(f);h=histeq(g);subplot(1,2,1),imshow(g);s

19、ubplot(1,2,2),imshow(h);figure,subplot(1,2,1),imhist(g);subplot(1,2,2),imhist(h);图像增强方法:对数变换:I=imread(pout.tif);imshow(I)I=double(I) %对数运算不支持uint8类型数据J=log(I+1);figure,imshow(J,4,5)将彩图变成灰度图像之后,进行直方图均衡化,在把均衡化前后的图像分别做增强 f=imread(e:imagelunzi.png); g=rgb2gray(f); h=histeq(g); i=double(h); l=log(i+1); s

20、ubplot(1,2,1),imshow(l,4,5);subplot(1,2,2),imshow(g) 增加噪声:I=imread(eight.tif);J1=imnoise(I,gaussian,0,0.02); %对图像数据添加均值为0,方差为0.02的高斯噪声。J2=imnoise(I,salt & pepper,0.02); %对图像数据添加椒盐噪声。J3=imnoise(I,speckle,0.02); %对图像数据添加乘性噪声。subplot(2,2,1),imshow(I)subplot(2,2,2),imshow(J1)subplot(2,2,3),imshow(J2)sub

21、plot(2,2,4),imshow(J3)去噪声处理:领域平均法h=1 1 1;1 1 1;1 1 1; %产生滤波模板h=h/9; %对模板归一化J=conv2(J1,h); %多项式乘、卷积subplot(1,2,1),imshow(J1)subplot(1,2,2),imshow(J2)Conv2要求都为double或者都为single去噪声处理中值滤波:J=medfilt2(J1);subplot(1,2,1),imshow(J1)subplot(1,2,2),imshow(J2)具体输入如下: f=imread(e:imageyuanquan.png);i=imnoise(f,ga

22、ussian,0,0.02);i=rgb2gray(i);J=medfilt2(i);imshow(i),figure,imshow(J)图像变换:图像变换是图像处理的重要工具。通过变换,改变图像的表示域,可以对图像的后继处理带来极大的方便。例如:傅立叶变换:图像的频域分析离散余弦变换: 使能量集中利于图像压缩。傅立叶变换的例子:load imdemos saturn2imshow(saturn2)b=fft2(saturn2);figureimshow(log(abs(b),)colormap(jet(64);Colorbar离散余弦变换(DCT):b=dct2(saturn2);figureimshow(log(abs(b),)colormap(jet(64);Colorbarmatlab中,每个figure都有(而且仅有)一个colormap,翻译过来就是色图。COLORMAP(MAP) 用MAP矩阵映射当前图形的色图。 COLORMAP(default) 默认的设置是 JET. MAP = COLORMAP 获得当前色图矩阵. COLORMAP(AX,.) 应用色图到AX坐标对应的图形,而非当前图形

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1