matlab图像处理教程.docx

上传人:b****7 文档编号:9833726 上传时间:2023-02-06 格式:DOCX 页数:26 大小:1.01MB
下载 相关 举报
matlab图像处理教程.docx_第1页
第1页 / 共26页
matlab图像处理教程.docx_第2页
第2页 / 共26页
matlab图像处理教程.docx_第3页
第3页 / 共26页
matlab图像处理教程.docx_第4页
第4页 / 共26页
matlab图像处理教程.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

matlab图像处理教程.docx

《matlab图像处理教程.docx》由会员分享,可在线阅读,更多相关《matlab图像处理教程.docx(26页珍藏版)》请在冰豆网上搜索。

matlab图像处理教程.docx

matlab图像处理教程

matlab图像处理教程

2011-04-1911:

42fmmu王孜|分类:

图像处理软件|浏览39735次

选择任一256级灰度位图图像,编写程序实现下述的图像处理操作:

一、位图格式图像基本操作

1、图像的读取

2、图像的保存

二、图像的灰度及修正

1、对比度展宽(灰度窗方法,a,b位置自选)

2、直方图均衡

三、图像的几何变换

1、图像的位置变化

平移、镜像(水平、垂直)及旋转

2、图像的形状变化

缩小、放大及错切变化(采用双线性插值)

【实验要求及上交内容】:

按实验报告的规定格式上交实验报告,报告中应包括实验要求,算法及程序基本说明,实验结果及对结果的说明,实验中遇到的问题等。

同时上交源程序及代码,原图像及处理后的图像结果。

 

2011-04-1912:

15提问者采纳

楼主你太狠了,5分要别人做这么多!

1.图像的读入、显示及信息查询:

(1)I=imread('lena.jpg')%图像读入

imshow(I)%图像显示

(2)inf=imfinfo('lena.jpg')%图像信息查询

2.图像的常用处理语句:

(1)X=rgb2gray(I);imshow(X)%彩色图像转灰度图像

(2)X2=grayslice(I,64);imshow(X2,hot(64))%将灰度图像转为索引色图像

(3)X3=im2bw(X1);imshow(X3)%将图像转二值图像

3.图像滤波:

clearall

g0=imread('lena.tif')

g0=g0(:

:

2);%三维转二维

figure

(1);imshow(g0);title('原图')%如图5

g1=imnoise(g0,'salt&pepper',0.2)

g1=im2double(g1);

figure

(2);imshow(g1);title('加入椒盐噪声')%如图6

h1=fspecial('gaussian',4,0.3)

g2=filter2(h1,g1,'same')

figure(3);imshow(g2);title('进行高斯滤波')%如图7

h2=fspecial('sobel')

g3=filter2(h2,g1,'same')

figure(4);imshow(g3);title('进行sobel滤波')%如图8

h3=fspecial('prewitt')

g4=filter2(h3,g1,'same')

figure(5);imshow(g4);title('进行prewitt滤波')%如图9

h4=fspecial('laplacian',0.5);

g5=filter2(h4,g1,'same');

figure(6);imshow(g5);title('进行拉普拉斯滤波');%如图10

h5=fspecial('log',4,0.3);

g6=filter2(h5,g1,'same');figure(7);

imshow(g6);title('进行高斯拉普拉斯滤波');%如图11

h6=fspecial('average');

g7=filter2(h6,g1,'same');figure(8);

imshow(g7);title('进行均值滤波');%如图12

h7=fspecial('unsharp',0.3);

g8=filter2(h7,g1,'same');

figure(9);imshow(g8);title('进行模糊滤波');%如图13

h8=[0-10;-15-1;0-10];

g9=filter2(h8,g1,'same');

figure(10);imshow(g9);title('进行高通高斯滤波');%如图14

h9=g1;g10=medfilt2(h9);

figure(11);imshow(g10);title('进行中值滤波');%如图15

 

[x,y,z]=meshgrid(linspace(-3,3,120));

f=(x.^2+(9*y.^2)./4+z.^2-1).^3-((9*y.^2).*(z.^3))./80-(x.^2).*(z.^3);

p=patch(isosurface(x,y,z,f,0));

set(p,'FaceColor','r','EdgeColor','r')

gridon

daspect([111])

view(3)

camlight('right')

camlight('left')

camlight('headlight')

lightingphong

xlabel('X')

ylabel('Y')

zlabel('Z')

title('3DHeart')

 

Matlab绘图系列之高级绘图

2007-09-0617:

06:

16|分类:

Matlab绘图|举报|字号订阅

一、目录

1.彗星图

二维彗星图

三维彗星图

2.帧动画

3.程序动画

4.色图变换

5.Voronoi图和三角剖分

Voronoi图

三角剖分

6.四面体

7.彩带图

彩带图

三维流彩带图

8.伪彩图

9.切片图

切片图

切片轮廓线图

10.轮廓图

显示轮廓线

显示围裙

瀑布效果

带光照模式的阴影图

11.函数绘图

轮廓线、网格图、曲面图、轮廓网格图

轮廓曲面图、二维曲线、极坐标曲线图、自定义函数

12.三维图形控制

视点

灯光效果

色彩控制

二、图形示例

1.彗星图

二维彗星图

t=0:

.01:

2*pi;

x=cos(2*t).*(cos(t).^2);

y=sin(2*t).*(sin(t).^2);

comet(x,y);

title('二维彗星轨迹图')

holdon

plot(x,y)

三维彗星图

a=12;

b=9;

T0=2*pi;%T0是轨道的周期

T=5*T0;

dt=pi/100;

t=[0:

dt:

T]';

f=sqrt(a^2-b^2);%地球与另一焦点的距离

th=12.5*pi/180;%未经轨道与x-y平面的倾角

E=exp(-t/20);%轨道收缩率

x=E.*(a*cos(t)-f);

y=E.*(b*cos(th)*sin(t));

z=E.*(b*sin(th)*sin(t));

plot3(x,y,z,'g')%画全程轨线

holdon,sphere(20);%画地球

axisoff

title('卫星返回地球示例')

x1=-18*T0;

x2=6*T0;

y1=-12*T0;

y2=12*T0;

z1=-6*T0;

z2=6*T0;

axis([x1x2y1y2z1z2])

%axis([-1510-1510-1010])

axisequal

comet3(x,y,z,0.02);%画运动轨线

holdoff

2.帧动画

Z=peaks;

surf(Z)%绘制网格表面图

axistight

set(gca,'nextplot','replacechildren');%设定axis覆盖重画模式

title('帧动画播放示例')

forj=1:

20

surf(sin(2*pi*j/20)*Z,Z)%重新绘制网格表面图,这里后面一个Z当成了颜色矩阵

F(j)=getframe;%创建帧

end

movie(F,20)%播放动画20次

3.程序动画

t=0:

pi/50:

10*pi

i=1;

h=plot3(sin(t(i)),cos(t(i)),t(i),'*','erasemode','none');%设定擦除模式

gridon

axis([-22-22-110*pi])

title('程序动画示例')

fori=2:

length(t)

set(h,'xdata',sin(t(i)),'ydata',cos(t(i)),'zdata',t(i));

drawnow

pause(0.01)

end

4.色图变换

loadspine

image(X)

colormapcool

spinmap(10)

5.Voronoi图和三角剖分

Voronoi图

rand('state',5)

x=rand(1,10);

y=rand(1,10);

subplot(131)

voronoi(x,y);%绘制voronoi图形

axisequal

axis([-0.21.6-0.52.5])

subplot(132)

[vx,vy]=voronoi(x,y);

plot(x,y,'r+',vx,vy,'b-');%应用返回值绘制

axisequal

axis([-0.21.6-0.52.5])

subplot(133)

rand('state',5);

x=rand(10,2);

[v,c]=voronoin(x);%返回值v参数维voronoi顶点矩阵,返回值c参数为voronoi元胞数组

fori=1:

length(c)

ifall(c{i}~=1)

patch(v(c{i},1),v(c{i},2),i);%应用色图i

end

end

axisequal

axis([-0.21.6-0.52.5])

boxon

三角剖分

[x,y]=meshgrid(1:

15,1:

15);

tri=delaunay(x,y);

z=peaks(15);

trimesh(tri,x,y,z)

6.四面体

d=[-11];

[x,y,z]=meshgrid(d,d,d);%定义一个立方体

x=[x(:

);0];

y=[y(:

);0];

z=[z(:

);0];%[x,y,z]分别为加上中心的立方体顶点

X=[x(:

)y(:

)z(:

)];

Tes=delaunayn(X);%返回m×n的数组值

tetramesh(Tes,X);%绘制四面体图

camorbit(20,0);%旋转摄像目标位置

7.彩带图

彩带图

[x,y]=meshgrid(-3:

.5:

3,-3:

.1:

3);

z=peaks(x,y);

ribbon(y,z)

三维流彩带图

loadwind%打开保存的数据

lims=[100.64116.6717.2528.75-0.026.86];%定义坐标轴范围

[x,y,z,u,v,w]=subvolume(x,y,z,u,v,w,lims);%lims来定义数据子集

[sxsysz]=meshgrid(110,20:

5:

30,1:

5);%定义网格点

verts=stream3(x,y,z,u,v,w,sx,sy,sz,.5);%计算彩带顶点

cav=curl(x,y,z,u,v,w);%计算卷曲角速度

wind_speed=sqrt(u.^2+v.^2+w.^2);%计算流速

h=streamribbon(verts,x,y,z,cav,wind_speed,2);%绘制流彩带图

view(3)

8.伪彩图

n=6%定义轮数

r=(0:

n)'/n;%定义轮的半径

theta=pi*(-n:

n)/n;%定义轮的扇区角

X=r*cos(theta);

Y=r*sin(theta);%定义网格顶点

C=r*cos(2*theta);%定义色图

pcolor(X,Y,C)%绘制伪彩图axisequaltight

9.切片图

切片图

[x,y,z]=meshgrid(-2:

.2:

2,-2:

.25:

2,-2:

.16:

2);

v=x.*exp(-x.^2-y.^2-z.^2);

xslice=[-1.2,.8,2];yslice=2;zslice=[-2,0];

slice(x,y,z,v,xslice,yslice,zslice)

colormaphsv

切片轮廓线图

[xyzv]=flow;%打开水流数据

h=contourslice(x,y,z,v,[1:

9],[],[0],linspace(-8,2,10));%切片轮廓线

view([-1230])

10.轮廓图

显示轮廓线

[x,y,z]=peaks;

subplot(1,2,1)

meshc(x,y,z);%同时画出网格图与轮廓线

title('meshc网格图与轮廓线')

axis([-infinf-infinf-infinf]);

subplot(1,2,2)

surfc(x,y,z);%同时画出曲面图与轮廓线

title('surfc曲面图与轮廓线')

axis([-infinf-infinf-infinf]);

显示围裙

[xyz]=peaks;

meshz(x,y,z);

瀑布效果

[X,Y,Z]=peaks(30);

waterfall(X,Y,Z)

带光照模式的阴影图

[x,y]=meshgrid(-3:

1/8:

3);

z=peaks(x,y);

surfl(x,y,z);

shadinginterp%着色处理

colormap(gray);%灰度处理

axis([-33-33-88])

11.函数绘图

轮廓线、网格图、曲面图、轮廓网格图

%图1绘制轮廓线、网格图、曲面图、轮廓网格图

subplot(221)

f=['3*(1-x)^2*exp(-(x^2)-(y+1)^2)-10*(x/5-x^3-y^5)*exp(-x^2-y^2)-1/3*exp(-(x+1)^2-y^2)'];%定义双变量x、y的函数式

ezcontour(f,[-3,3],49)%x、y为[-33],网格为49×49

subplot(222)

ezmesh('sqrt(x^2+y^2)');

subplot(223)

ezsurf('real(atan(x+i*y))')%经过滤波,如果相同数据surf绘图没有滤波

subplot(224)

ezmeshc('y/(1+x^2+y^2)',[-5,5,-2*pi,2*pi])%x、y的数值范围分别为[-55]、[-2*pi2*pi]

轮廓曲面图、二维曲线、极坐标曲线图、自定义函数

%图2绘制轮廓曲面图、二维曲线、极坐标曲线图、自定义函数

figure

(2)

subplot(221)

ezsurfc('sin(u)*sin(v)')

subplot(222)

ezplot('x^2-y^4');

subplot(223)

ezpolar('1+cos(t)')

subplot(224)

fplot('myfun',[-2020])

functionY=myfun(x)

Y(:

1)=200*sin(x(:

))./x(:

);

Y(:

2)=x(:

).^2;

三维曲线图

%绘制三维曲线图

figure(3)

ezplot3('sin(t)','cos(t)','t',[0,6*pi])

12.三维图形控制

视点

View

图形旋转

subplot(121)

surf(peaks);

title('旋转前图形');

subplot(122)

h=surf(peaks);

rotate(h,[101],180)

title('旋转后图形');

灯光效果

%灯光效果

(1)camlight

(2)light(3)lightangle(4)lighting(5)material

sphere;

camlight

色彩控制

%色彩控制

(1)缺省设置colordef、whitebg

(2)色图colormap(3)浓淡处理shading

loadflujet

image(X)

colormap(jet)

subplot(131)

sphere(16)

axissquare

shadingflat

title('FlatShading')

subplot(132)

sphere(16)

axissquare

shadingfaceted

title('FacetedShading')

subplot(133)

sphere(16)

axissquare

shadinginterp

title('InterpolatedShading')

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 其它考试

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

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