搜档网
当前位置:搜档网 › 分形几何中一些经典图形的Matlab画法

分形几何中一些经典图形的Matlab画法

分形几何中一些经典图形的Matlab画法
分形几何中一些经典图形的Matlab画法

分形几何中一些经典图形的Ma tlab画法

————————————————————————————————作者: ————————————————————————————————日期:

分形几何中一些经典图形的Matlab画法

(1)Koch曲线程序koch.m

functionkoch(a1,b1,a2,b2,n)

%koch(0,0,9,0,3)

%a1,b1,a2,b2为初始线段两端点坐标,n为迭代次数

a1=0;b1=0;a2=9;b2=0;n=3;

%第i-1次迭代时由各条线段产生的新四条线段的五点横、纵坐标存储在数组A、B中[A,B]=sub_koch1(a1,b1,a2,b2);

for i=1:n

forj=1:length(A)/5;

w=sub_koch2(A(1+5*(j-1):5*j),B(1+5*(j-1):5*j));

for k=1:4

[AA(5*4*(j-1)+5*(k-1)+1:5*4*(j-1)+5*(k-1)+5),BB(5*4*(j-1)+5*(k-1)+1:5*4*(j-1)+5*(k-1)+5)]=sub_koch1(w(k,1),w(k,2),w(k,3),w(k,4));

end

end

A=AA;

B=BB;

end

plot(A,B)

holdon

axis equal

%由以(ax,ay),(bx,by)为端点的线段生成新的中间三点坐标并把这五点横、纵坐标依次分别存%储在数组A,B中

function [A,B]=sub_koch1(ax,ay,bx,by)

cx=ax+(bx-ax)/3;

cy=ay+(by-ay)/3;

ex=bx-(bx-ax)/3;

ey=by-(by-ay)/3;

L=sqrt((ex-cx).^2+(ey-cy).^2);

alpha=atan((ey-cy)./(ex-cx));

if(ex-cx)<0

alpha=alpha+pi;

end

dx=cx+cos(alpha+pi/3)*L;

dy=cy+sin(alpha+pi/3)*L;

A=[ax,cx,dx,ex,bx];

B=[ay,cy,dy,ey,by];

%把由函数sub_koch1生成的五点横、纵坐标A,B顺次划分为四组,分别对应四条折线段中

%每条线段两端点的坐标,并依次分别存储在4*4阶矩阵k中,k中第i(i=1,2,3,4)行数字代表第%i条线段两端点的坐标

functionw=sub_koch2(A,B)

a11=A(1);b11=B(1);

a12=A(2);b12=B(2);

a21=A(2);b21=B(2);

a22=A(3);b22=B(3);

a31=A(3);b31=B(3);

a32=A(4);b32=B(4);

a41=A(4);b41=B(4);

a42=A(5);b42=B(5);

w=[a11,b11,a12,b12;a21,b21,a22,b22;a31,b31,a32,b32;a41,b41,a42,b42];

图1 Von Koch曲线

(2)Levy 曲线程序levy.m

function levy(n)

% levy(16),n为levy曲线迭代次数

%x1,y1,x2,y2为初始线段两端点坐标,nn为迭代次数

n=16;

x1=0;y1=0;

x2=1;y2=0;

%第i-1次迭代时由各条线段产生的新两条线段的三端点横、纵坐标存储在数组X、Y中[X,Y]=levy1(x1,y1,x2,y2);

for i=1:n

for j=1:length(X)/3

w=levy2(X(1+3*(j-1):3*j),Y(1+3*(j-1):3*j));

[XX(3*2*(j-1)+1:3*2*(j-1)+3),YY(3*2*(j-1)+1:3*2*(j-1)+3)]=levy1(w(1,1),w(1,2),w(1,3),w(1,4));

[XX(3*2*(j-1)+3+1:3*2*(j-1)+3+3),YY(3*2*(j-1)+3+1:3*2*(j-1)+3+3)]=levy1(w(2,1),w(2,2),w(2,3),w(2,4));

end

X=XX;

Y=YY;

end

plot(X,Y)

hold on

axis equal

%由以(x1,y1),(x2,y2)为端点的线段生成新的中间点坐标并把(x1,y1),(x2,y2)连同新点横、纵坐%标依次分别存储在数组X,Y中

function [X,Y]=levy1(x1,y1,x2,y2)

x3=1/2*(x1+x2+y1-y2);

y3=1/2*(-x1+x2+y1+y2);

X=[x1,x3,x2];

Y=[y1,y3,y2];

%把由函数levy1生成的三点横、纵坐标X,Y顺次划分为两组,分别对应两条折线段中每条线%段两端点的坐标,并依次分别存储在2*4阶矩阵w中,w中第i(i=1,2)行数字代表第i条线段%两端点的坐标

functionw=levy2(X,Y)

a11=X(1);b11=Y(1);

a12=X(2);b12=Y(2);

a21=X(2);b21=Y(2);

a22=X(3);b22=Y(3);

w=[a11,b11,a12,b12;a21,b21,a22,b22];

图2Levy曲线

(3)分形树程序tree.h

function tree(n,a,b)

% tree(8,pi/8,pi/8),n为分形树迭代次数

%a,b为分枝与竖直方向夹角

%x1,y1,x2,y2为初始线段两端点坐标,nn为迭代次数

n=8;a=pi/8;b=pi/8;

x1=0;y1=0;

x2=0;y2=1;

plot([x1,x2],[y1,y2])

holdon

[X,Y]=tree1(x1,y1,x2,y2,a,b);

holdon

W=tree2(X,Y);

w1=W(:,1:4);

w2=W(:,5:8);

% w为2^k*4维矩阵,存储第k次迭代产生的分枝两端点的坐标,

%w的第i(i=1,2,…,2^k)行数字对应第i个分枝两端点的坐标

w=[w1;w2];

for k=1:n

for i=1:2^k

[X,Y]=tree1(w(i,1),w(i,2),w(i,3),w(i,4),a,b);

W(i,:)=tree2(X,Y);

end

w1=W(:,1:4);

w2=W(:,5:8);

w=[w1;w2];

end

%由每个分枝两端点坐标(x1,y1),(x2,y2)产生两新点的坐标(x3,y3),(x4,y4),画两分枝图形,并把%(x2,y2)连同新点横、纵坐标分别存储在数组X,Y中

function [X,Y]=tree1(x1,y1,x2,y2,a,b)

L=sqrt((x2-x1)^2+(y2-y1)^2);

if(x2-x1)==0

a=pi/2;

else if (x2-x1)<0

a=pi+atan((y2-y1)/(x2-x1));

else

a=atan((y2-y1)/(x2-x1));

end

end

x3=x2+L*2/3*cos(a+b);

y3=y2+L*2/3*sin(a+b);

x4=x2+L*2/3*cos(a-b);

y4=y2+L*2/3*sin(a-b);

a=[x3,x2,x4];

b=[y3,y2,y4];

plot(a,b)

axis equal

hold on

X=[x2,x3,x4];

Y=[y2,y3,y4];

%把由函数tree1生成的X,Y顺次划分为两组,分别对应两分枝两个端点的坐标,并存储在一维%数组w中

function w=tree2(X,Y)

a1=X(1);b1=Y(1);

a2=X(2);b2=Y(2);

a3=X(1);b3=Y(1);

a4=X(3);b4=Y(3);

w=[a1,b1,a2,b2,a3,b3,a4,b4];

图3 分形树

(4)IFS算法画Sierpinski三角形程序sierpinski_ifs.h

function sierpinski_ifs(n,w1,w2,w3)

%sierpinski_ifs(10000,1/3,1/3,1/3)

%w1,w2,w3出现频率

n=10000;

w1=1/3;

w2=1/3;

w3=1/3;

M1=[0.5 000 0.5 0];

M2=[0.50 0.5 0 0.5 0];

M3=[0.5 0 0.25 0 0.5 0.5];

x=0;y=0;

% r为[0,1]区间内产生的n维随机数组

r=rand(1,n);

B=zeros(2,n);

k=1;

% 当0<r(i)<1/3时,进行M1对应的压缩映射;

%当1/3=

% 当2/3=<r(i)<1时,进行M3对应的压缩映射;

for i=1:n

if r(i)<w1

a=M1(1);b=M1(2);e=M1(3);c=M1(4);d=M1(5);f=M1(6);

else if r(i)

a=M2(1);b=M2(2);e=M2(3);c=M2(4);d=M2(5);f=M2(6);

elseifr(i)<w1+w2+w3

a=M3(1);b=M3(2);e=M3(3);c=M3(4);d=M3(5);f=M3(6);

end

end

end

x=a*x+b*y+e;

y=c*x+d*y+f;

B(1,k)=x;

B(2,k)=y;

k=k+1;

end

plot(B(1,:),B(2,:),'.','markersize',0.1)

图4Sierpinski三角形

(5)IFS算法画Julia集程序julia_ifs.h

function julia_ifs(n,cx,cy)

% julia_ifs(100000,-0.77,0.08)

%f(z)=z^2+c,cx=real(c);cy=image(c);

n=10000;

cx=-0.77;

cy=0.08;

%z^2+c=z0,x=real(z0);y=image(z0);

x=1;y=1;

B=zeros(2,n);

k=1;

% A为产生的服从标准正态分布的n维随机数组

A=randn(1,n);

for i=1:n

wx=x-cx;

wy=y-cy;

if wx>0

alpha=atan(wy/wx);

end

if wx<0

alpha=pi+atan(wy/wx);

end

if wx==0

alpha=pi/2;

end

alpha=alpha/2;

r=sqrt(wx^2+wy^2);

ifA(i)<0

r=-sqrt(r);

else

r=sqrt(r);

end

x=r*cos(alpha);

y=r*sin(alpha);

B(1,k)=x;

B(2,k)=y;

k=k+1;

end

plot(B(1,:),B(2,:),'.','markersize',0.1)

图5Julia集(6)逃逸时间算法画Sierpinski垫片程序sierpinski.h

function sierpinski(a,b,c,d,n,m,r)

%sierpinski(0,0,1,1,12,200,200)

%(a,b),(c,d)收敛区域左上角和右下角坐标,m为分辨率

%n为逃逸时间,需要反复试探,r逃逸半径

a=0;b=0;c=1;d=1;n=12;m=200;r=200;

B=zeros(2,m*m);

w=1;

fori=1:m

x0=a+(c-a)*(i-1)/m;

for j=1:m

y0=b+(d-b)*(j-1)/m;

x=x0;

y=y0;

for k=1:n

ify>0.5

x=2*x;

y=2*y-1;

elseif x>=0.5

x=2*x-1;

y=2*y;

else

x=2*x;

y=2*y;

end

if x^2+y^2>r

break;

end

end

if k==n

B(1,w)=i;

B(2,w)=j;

w=w+1;

end

end

end

plot(B(1,:),B(2,:),'.','markersize',0.1)

图6 Sierpinski三角形垫片

(7)元胞自动机算法画Sierpinski三角形程序

一维元胞自动机sierpinski_ca1.h

function sierpinski_ca1(m,n)

%sierpinski_ca1(1000,3000)

m=1000;n=3000;

t=1;w=zeros(2,m*n);

s=zeros(m,n);

s(1,fix(n/3))=1;

for i=1:m-1

forj=2:n-1

if(s(i,j-1)==1&s(i,j)==0&s(i,j+1)==0)|(s(i,j-1)==0&s(i,j)==0&s (i,j+1)==1)

s(i+1,j)=1;

w(1,t)=x+3+3*j;

w(2,t)=y+5*i;

t=t+1;

end

end

end

plot(w(1,:),w(2,:),'.','markersize',1)

图7.1 一维元胞自动机画Sierpinski三角形

二维元胞自动机sierpinski_ca2.h

function sierpinski_ca2(m,n)

%sierpinski_ca2(400,400)

m=400;n=400;

t=1;w=zeros(2,m*n);

s=zeros(m,n);

for i=[m/2:-1:2,m/2:m-1]

forj=[n/2:-1:2,n/2:n-1]

if mod(s(i-1,j-1)+s(i,j-1)+s(i+1,j-1)+s(i-1,j)+s(i+1,j)+s(i-1,j+1)+s(i,j+1)+s(i+1,j+1),2)==1

s(i,j)=1;

w(1,t)=i;

w(2,t)=j;

t=t+1;

end

end

end

plot(w(1,:),w(2,:),'.','markersize',0.1)

图7.2 二维元胞自动机画Sierpinski三角形

(8)IFS算法画Helix曲线程序helix_ifs.h

function helix_ifs(n,w1,w2,w3)

%helix_ifs(20000,0.9,0.05,0.05)

%w1,w2,w3为出现频率

n=20000;w1=0.9;w2=0.05;w3=0.05;

M1=[0.787879 -0.4242421.758647 0.242424 0.859848 1.408065];M2=[-0.121212 0.257576 -6.7216540.053030.05303 1.377236]; M3=[0.181818-0.136364 6.0861070.090909 0.181818 1.568035]; x=0;y=0;

% r为[0,1]区间内产生的n维随机数组

r=rand(1,n);

B=zeros(2,n);

k=1;

% 当0<r(i)<1/3时,进行M1对应的压缩映射;

% 当1/3=

% 当2/3=<r(i)<1时,进行M3对应的压缩映射;

for i=1:n

if r(i)

a=M1(1);b=M1(2);e=M1(3);c=M1(4);d=M1(5);f=M1(6);

else if r(i)

a=M2(1);b=M2(2);e=M2(3);c=M2(4);d=M2(5);f=M2(6);

else if r(i)

a=M3(1);b=M3(2);e=M3(3);c=M3(4);d=M3(5);f=M3(6);

end

end

end

x=a*x+b*y+e;

y=c*x+d*y+f;

B(1,k)=x;

B(2,k)=y;

k=k+1;

end

plot(B(1,:),B(2,:),'.','markersize',0.1)

图8 Helix曲线

非常全非常详细的MATLAB数字图像处理技术

MATLAB数字图像处理 1 概述 BW=dither(I)灰度转成二值图; X=dither(RGB,map)RGB转成灰度图,用户需要提供一个Colormap; [X,map]=gray2ind(I,n)灰度到索引; [X,map]=gray2ind(BW,n)二值图到索引,map可由gray(n)产生。灰度图n默认64,二值图默认2; X=graylice(I,n)灰度图到索引图,门限1/n,2/n,…,(n-1)/n,X=graylice(I,v)给定门限向量v; BW=im2bw(I,level)灰度图I到二值图; BW=im2bw(X,map,level)索引图X到二值图;level是阈值门限,超过像素为1,其余置0,level在[0,1]之间。 BW=im2bw(RGB,level)RGB到二值图; I=ind2gray(X,map)索引图到灰度图; RGB=ind2rgb(X,map)索引图到RGB; I=rgb2gray(RGB)RGB到灰度图。 2 图像运算 2.1 图像的读写 MATLAB支持的图像格式有bmp,gif,ico,jpg,png,cur,pcx,xwd和tif。 读取(imread): [1] A=imread(filename,fmt) [2] [X,map]=imread(filename,fmt) [3] […]=imread(filename) [4] […]=imread(URL,…) 说明:filename是图像文件名,如果不在搜索路径下应是图像的全路径,fmt是图像文件扩展名字符串。前者可读入二值图、灰度图、彩图(主要是RGB);第二个读入索引图,map 为索引图对应的Colormap,即其相关联的颜色映射表,若不是索引图则map为空。URL表示引自Internet URL中的图像。 写入(imwrite): [1] R=imwrite(A,filename,fmt); [2] R=imwrite(X,map,filename,fmt); [3] R=imwrite(…,filename); [4] R=imwrite(…,Param1,V al1,Param2,Val2) 说明:针对第四个,该语句用于指定HDF,JPEG,PBM,PGM,PNG,PPM,TIFF等类型输出文件的不同参数。例如HDF的Quality,Compression,WriteMode;JPEG的BitDepth,Comment:Empty or not,Mode:lossy or lossless,Quality等。 2.2 图像的显示 方法1:使用Image Viewer(图像浏览器),即运用imview函数。 同时显示多帧图像的所有帧,可用到montage函数。

matlab 三维图形绘制实例

三维图形 一. 三维曲线 plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n) 其中每一组x,y,z 组成一组曲线的坐标参数,选项的定义和plot 函数相同。当x,y ,z 是同维向量时,则x,y,z 对应元素构成一条三维曲线。当x,y ,z 是同维矩阵时,则以x,y,z 对应列元素绘制三维曲线,曲线条数等于矩阵列数。 Example1.绘制三维曲线。 程序如下: clf, t=0:pi/100:20*pi; x=sin(t); y=cos(t); z=t.*sin(t).*cos(t); %向量的乘除幂运算前面要加点 plot3(x,y,z); title('Line in 3-D Space'); xlabel('X');ylabel('Y');zlabel('Z'); grid on; 所的图形如下: -1 1 X Line in 3-D Space Y Z 二. 三维曲面 1. 产生三维数据 在MATLAB 中,利用meshgrid 函数产生平面区域内的网格坐标矩阵。

语句执行后,矩阵X 的每一行都是向量x ,行数等于向量y 的元素的个数,矩阵Y 的每一列都是向量y ,列数等于向量x 的元素的个数。 2. 绘制三维曲面的函数 surf 函数和mesh 函数 example2. 绘制三维曲面图z=sin(x+sin(y))-x/10。 程序如下: clf, [x,y]=meshgrid(0:0.25:4*pi); %产生平面坐标区域内的网格坐标矩阵 z=sin(x+sin(y))-x./10; surf(x,y,z); axis([0 4*pi 0 4*pi -2.5 1]); title('surf 函数所产生的曲面'); figure; mesh(x,y ,z); axis([0 4*pi 0 4*pi -2.5 1]); title('mesh 函数所产生的曲面'); -2.5 -2-1.5-1-0.500.51surf 函数所产生的曲面

立体图形直观图的画法

平面图形直观图的画法 先观察下面的图形,总结投影变化规律。 投影规律: 1.平行性不变;但形状、长度、夹 角会改变; 2.平行直线段或同一直线上的两条 线段的比不变 3.在太阳光下,平行于地面 的直线在地面上的投影长不变 表示空间图形的平面图形,叫做 空间图形的直观图 画空间图形的直观图,一般都要 遵守统一的规则, 1.斜二测画法 我们常用斜二测画法画空间图形及水平放置的平面多边形的直 观图.斜二测画法是一种特殊的平行投影画法. 2.平面图形直观图的画法 斜二测画法的步骤: (1)在已知图形中取互相垂直的x 轴和y 轴,两轴相交于点O .画直观 图时,把它们画成对应的x ′轴和y ′轴,两轴交于点O ′,且使 ∠x ′O ′y ′=_45°(或135°)_,它们确定的平面表示_水平面. (2)已知图形中平行于x 轴或y 轴的线段,在直观图中分别画成_ 平行

于x′轴或y′轴的线段. (3)已知图形中平行于x轴的线段,在直观图中保持原长度不变_,_垂直于x轴的线段,长度为原来的_一半_. 注意点: 1.斜二测画法中的“斜”和“二测”分别指什么? 提示:“斜”是指在已知图形的xOy平面内垂直于x轴的线段,在直观图中均与x′轴成45°或135°;“二测”是指两种度量形式,即在直观图中,平行于x′轴或z′轴的线段长度不变;平行于y′轴的线段长度变为原来的一半。 2.圆的斜二测画法,其图形还是圆吗? 提示:不是圆,是一个压扁了的“圆”,即椭圆。 3.立体图形直观图的画法 由于立体图形与平面图形相比多了一个z轴,因此,用斜二测画法画立体图形的直观图时,图形中平行于x轴、y轴或z轴的线段在直观图中分别画成平行于x′轴、y′轴或z′轴的线段.平行于x轴和z轴的线段,在直观图中长度不变,平行于y轴的线段,长度为原来的一半. 例1.用斜二测画法画水平放置的六边形的直观图 解:

基于Matlab基本图像处理程序

图像读入 ●从图形文件中读入图像 imread Syntax: A = imread(filename, fmt) filename:指定的灰度或彩色图像文件的完整路径和文件名。 fmt:指定图形文件的格式所对应的标准扩展名。如果imread没有找到filename所制定的文件,会尝试查找一个名为filename.fmt的文件。 A:包含图像矩阵的矩阵。对于灰度图像,它是一个M行N列的矩阵。如果文件包含 RGB真彩图像,则是m*n*3的矩阵。 ●对于索引图像,格式[X, map] = imread(filename, fmt) X:图像数据矩阵。 MAP:颜色索引表 图像的显示 ●imshow函数:显示工作区或图像文件中的图像 ●Syntax: imshow(I) %I是要现实的灰度图像矩阵 imshow(I,[low high],param1, val1, param2, val2,...) %I是要现实的灰度图像矩阵,指定要显示的灰度范围,后面的参数指定显示图像的特定参数 imshow(RGB) imshow(BW) imshow(X,map) %map颜色索引表 imshow(filename) himage = imshow(...) ●操作:读取并显示图像 I=imread('C:\Users\fanjinfei\Desktop\baby.bmp');%读取图像数据 imshow(I);%显示原图像 图像增强 一.图像的全局描述 直方图(Histogram):是一种对数据分布情况的图形表示,是一种二维统计图表,它的两个坐标分别是统计样本和该样本对应的某个属性的度量。 图像直方图(Image Histogram):是表示数字图像中亮度分布的直方图,用来描述图象灰度值,标绘了图像中每个亮度值的像素数。 灰度直方图:是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图 像中某种灰度出现的频率。描述了一幅图像的灰度级统计信息。是一个二维图,横坐标为图像中各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在图像中出现的次数或概率。 归一化直方图:直接反应不同灰度级出现的比率。纵坐标表示具有各个灰度级别的像

MATLAB绘图功能大全

Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。此外,Matlab 还提供了直接对图形句柄进行操作的低层绘图操作。这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。 本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。 一、二维绘图 二维图形是将平面坐标上的数据点连接起来的平面图形。可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。二维图形的绘制是其他绘图操作的基础。 (一)绘制二维曲线的基本函数 在Matlab中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线。 1.plot函数的基本用法

plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x 坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。plot函数的应用格式 plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。 例51 在[0 , 2pi]区间,绘制曲线 程序如下:在命令窗口中输入以下命令 >> x=0:pi/100:2*pi; >> y=2*exp(-0.5*x).*sin(2*pi*x); >> plot(x,y) 程序执行后,打开一个图形窗口,在其中绘制出如下曲线 注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。 例52 绘制曲线 这是以参数形式给出的曲线方程,只要给定参数向量,再分别求出x,y向量即可输出曲线: >> t=-pi:pi/100:pi; >> x=t.*cos(3*t); >> y=t.*sin(t).*sin(t); >> plot(x,y) 程序执行后,打开一个图形窗口,在其中绘制出如下曲线 以上提到plot函数的自变量x,y为长度相同的向量,这是最常见、最基本的用法。实际应用中还有一些变化。

示意图画法

怎样画示意图题 一、显示空间关系 1.火车长100m ,车头距离桥头200m ,桥长200m ,火车从静止开始以a =1m/s 2的加速度运动,求火车过桥经历的时间。 2.长5.0m 的铁链悬于O 点,O 点下方距离铁链下方15m 处有一个(偏离O 点正下方少许)钉子。求铁链无初速释放后经过钉子的时间是多长?(g 取10m/s ) 3.1999年高考题 在光滑水平面上有一质量m =1.0×10-3 Kg 、电量q =1.0×10-10 C 的带正电小球,静止在O 点。以O 点为原点,在该水平面内建立直角坐标系Oxy 。现突然加一沿x 轴正方向、场强大小E =2.0×106V/m 的匀强电场,使小球开始运动。经过1.0s ,所加电场突然变为沿y 轴正方向,场强大小仍为E =2.0×106 V/s 匀强电场。再经过1.0s ,所加电场又突然变为另一个匀强电场,使小球在此电场作用下经1.0s 速度变为零。求此电场的方向及速度变为零时小球的位置。 4.2006年理综Ⅰ卷第23题 天空有近似等高的浓云层。为了测量云层的高度,在水平地面上与观测者的距离为d =3.0km 处进行一次爆炸,观测者听到由空气直接传来的爆炸声和由云层反射来的爆炸声时间上相差Δt =6.0s 。试估算云层下表面的高度。已知空气中的声速v =1 3 km/s 。 5.2007年理综Ⅰ卷第23题 甲乙两运动员在训练交接棒的过程中发现:甲经短距离加速后能保持9m /s 的速度跑完全程:乙从起跑后到接棒前的运动是匀加速的。为了确定乙起跑的时机,需在接力区前适当的位置设置标记。在某次练习中,甲在接力区前013.5m s =处作了标记,并以9m /s v =的速度跑到此标记时向乙发出起跑口令。乙在接力区的前端听到口令时起跑,并恰好在速度达到与甲相同时被甲追上,完成交接棒,已知接力区的长度为L =20m. 求:(1)此次练习中乙在接棒前的加速度a 。 (2)在完成交接棒时乙离接力区末端的距离. 二、把立体关系转化为平面关系: 6.如图所示,abcd 是一竖直的矩形导线框,线框面积为S ,放在磁感应强度为B 的均匀水平磁场中.ab 边在水平面内且与磁场方向成60?角.则通过导线框的磁通量等于 ( ) (A)BS (B) 12BS (C) 2 2BS (D) 32 BS

matlab作图

MATLAB受到了广大理工科学生和学者青睐,除了Matlab强大的矩阵计算功能和功能齐全的toolbox以外,一个重要原因是因为它提供了方便的绘图功能。下面我们将详细介绍2维图形对象的生成函数及图形控制函数的使用方法以及一些图形的修饰与标注函数及操作和控制MATLAB各种图形对象的方法. 一、图形窗口与坐标系; A.图形窗口 1.MATLAB在图形窗口中绘制或输出图形,因此图形窗口就像一张绘图纸. 2.在MATLAB下,每一个图形窗口有唯一的一个序号h,称为该图形窗口的句 柄.MATLAB通过管理图形窗口的句柄来管理图形窗口; 3.当前窗口句柄可以由MATLAB函数gcf获得; 4.在任何时刻,只有唯一的一个窗口是当前的图形窗口(活跃窗口); figure(h)----将句柄为h的窗口设置为当前窗口; 5.打开图形窗口的方法有三种: 1)调用绘图函数时自动打开; 2)用File---New---Figure新建; 3)figure命令打开,close命令关闭. 在运行绘图程序前若已打开图形窗口,则绘图函数不再打开,而直接利用已打开的图形窗口;若运行程序前已存在多个图形窗口,并且没有指定哪个窗口为当前窗口时,则以最后使用过的窗口为当前窗口输出图形. 6.窗口中的图形打印:用图形窗口的File菜单中的Print项. 7.可以在图形窗口中设置图形对象的参数.具体方法是在图形窗口的Edit菜单中选择Properties项,打开图形对象的参数设置窗口,可以设置对象的属性. B.坐标系; 1.一个图形必须有其定位系统,即坐标系; 2.在一个图形窗口中可以有多个坐标系,但只有一个当前的坐标系; 3.每个坐标系都有唯一的标识符,即句柄值; 4.当前坐标系句柄可以由MATLAB函数gca获得; 5.使某个句柄标识的坐标系成为当前坐标系,可用如下函数:axes(h) h为指定坐标系句柄值.

MATLAB图像处理相关函数

一、通用函数: colorbar显示彩色条 语法:colorbar \ colorbar('vert') \ colorbar('horiz') \ colorbar(h) \ h=colorbar(...) \ colorbar(...,'peer',axes_handle) getimage 从坐标轴取得图像数据 语法:A=getimage(h) \ [x,y,A]=getimage(h) \ [...,A,flag]=getimage(h) \ [...]=getimage imshow 显示图像 语法:imshow(I,n) \ imshow(I,[low high]) \ imshow(BW) \ imshow(X,map) \ imshow(RGB)\ imshow(...,display_option) \ imshow(x,y,A,...) \ imshow filename \ h=imshow(...) montage 在矩形框中同时显示多幅图像 语法:montage(I) \ montage(BW) \ montage(X,map) \ montage(RGB) \ h=montage(...) immovie 创建多帧索引图的电影动画 语法:mov=immovie(X,map) \ mov=immovie(RGB) subimage 在一副图中显示多个图像 语法:subimage(X,map) \ subimage(I) \ subimage(BW) \ subimage(RGB) \ subimage(x,y,...) \ subimage(...) truesize 调整图像显示尺寸 语法:truesize(fig,[mrows mcols]) \ truesize(fig) warp 将图像显示到纹理映射表面 语法:warp(X,map) \ warp(I ,n) \ warp(z,...) warp(x,y,z,...) \ h=warp(...) zoom 缩放图像 语法:zoom on \ zoom off \ zoom out \ zoom reset \ zoom \ zoom xon \ zoom yon\ zoom(factor) \ zoom(fig,option) 二、图像文件I/O函数命令 imfinfo 返回图形图像文件信息 语法:info=imfinfo(filename,fmt) \ info=imfinfo(filename) imread 从图像文件中读取(载入)图像 语法:A=imread(filename,fmt) \ [X,map]=imread(filename,fmt) \

MATLAB中bode图绘制技巧(精)

Matlab中Bode图的绘制技巧学术收藏2010-06-04 21:21:48 阅读54 评论0 字号:大中小订阅我们经常会遇到使用Matlab画伯德图的情况,可能我们我们都知道bode这个函数是用来画bode图的,这个函数是Matlab内部提供的一个函数,我们可以很方便的用它来画伯德图,但是对于初学者来说,可能用起来就没有那么方便了。譬如我们要画出下面这个传递函数的伯德图: 1.576e010 s^2 H(s= ------------------------------------------------------------------------------------------ s^4 + 1.775e005 s^3 + 1.579e010 s^2 + 2.804e012 s + 2.494e014 (这是一个用butter函数产生的2阶的,频率范围为[20 20K]HZ的带通滤波器。我们可以用下面的语句:num=[1.576e010 0 0]; den=[1 1.775e005 1.579e010 2.804e012 2.494e014]; H=tf(num,den; bode(H 这样,我们就可以得到以下的伯德图: 可能我们会对这个图很不满意,第一,它的横坐标是rad/s,而我们一般希望横坐标是HZ;第二,横坐标的范围让我们看起来很不爽;第三,网格没有打开(这点当然我们可以通过在后面加上grid on解决)。下面,我们来看看如何定制我们自己的伯德图风格:在命令窗口中输入:bodeoptions 我们可以看到以下

内容:ans = Title: [1x1 struct] XLabel: [1x1 struct] YLabel: [1x1 struct]TickLabel: [1x1 struct]Grid: 'off' XLim: {[1 10]}XLimMode: {'auto'}YLim: {[1 10]} YLimMode: {'auto'}IOGrouping: 'none'InputLabels: [1x1 struct]OutputLabels: [1x1 struct]InputVisible: {'on'} OutputVisible: {'on'}FreqUnits: 'rad/sec'FreqScale: 'log' MagUnits: 'dB' MagScale: 'linear'MagVisible: 'on' MagLowerLimMode: 'auto'MagLowerLim: 0PhaseUnits: 'deg'PhaseVisible: 'on'PhaseWrapping: 'off' PhaseMatching: 'off'PhaseMatchingFreq: 0 PhaseMatchingValue: 0我们可以通过修改上面的每一 项修改伯德图的风格,比如我们使用下面的语句画我 们的伯德图:P=bodeoptions;P.Grid='on'; P.XLim={[10 40000]};P.XLimMode={'manual'};P.FreqUnits='HZ'; num=[1.576e010 0 0];den=[1 1.775e005 1.579e010 2.804e012 2.494e014];H=tf(num,den; bode(H,P 这时,我们将会看到以下的伯德图: 上面这张图相对就比较好了,它的横坐标单位 是HZ,范围是[10 40K]HZ,而且打开了网格,便于我 们观察-3DB处的频率值。当然,你也可以改变bodeoptions中的其它参数,做出符合你的风格的伯

基于MATLAB图像处理报告

基于M A T L A B图像处理报告一、设计题目 图片叠加。 二、设计要求 将一幅礼花图片和一幅夜景图片做叠加运算,使达到烟花夜景的美图效果。 三、设计方案 、设计思路 利用matlab强大的图像处理功能,通过编写程序,实现对两幅图片的像素进行线性运算,利用灰度变换的算法使图片达到预期的效果。 、软件介绍 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB 也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户直接进行下载就可以用。

小学数学空间与图形复习资料

小学数学空间与图形复习资料(二) A、图形的认识 (一)线与角 一、线 1、直线:直线没有端点;长度无限,无法比较长短;过一点可以画无数条直线,过两点只能画一条直线。 2、射线:射线只有一个端点;长度无限,无法比较长短。 3、线段:线段有两个端点,它是直线的一部分;长度有限;两点的连线中线段最短。 4、平行线:在同一平面内,不相交的两条直线叫做平行线。两条平行线间的垂线段长度都相等。 5、垂线:两条直线相交成直角时,这两条直线互相垂直,其中一条直线叫做另一条直线的垂线,相交的点叫做垂足。 点到直线的距离:从直线外一点到这条直线所画的垂线段的长度叫做这点到直线的距离。 二、角 1、角的定义:从一点引出两条射线,所组成的图形叫做角。这个点叫做角的顶点,这两条射线叫做角的边。 2、角的特点:角的大小与角两边的长短无关,与角两边叉开的大小有关。 3、角的分类: 锐角:小于900的角叫做锐角;直角:等于900的角叫做直角;钝角:大于900而小于1800的角叫做钝角。平角:角的两边成一条直线,这时所组成的角叫做平角,平角1800。周角:角的一边旋转一周,与另一边重合,周角是3600。注意:平角不能理解为一条直线,周角不能理解为一条射线。 4、角的度量:量角器中心点与顶点重合,角的一边与量角器的零刻度线重合。即点与点重合,边与边重合的量角方法。看量角器的度数,就需要看刻度线在哪边了。 (二)平面图形 一、长方形特征:对边相等,4个角都是直角的四边形;有2条对称轴。 二、正方形特征:4条边都相等,4个角都是直角的四边形;有4条对称轴。 三、三角形 1、特征:由三条线段围成的图形;三角形两边之和大于第三条边;三角形内角和是180度;三角形具有稳定性;三角形有三条高。 2、分类: (1)按角分锐角三角形:三个角都是锐角。直角三角形:有一个角是直角;等腰直角三角形的两个锐角都为45度,它有1条对称轴。钝角三角形:有一个角是钝角。(2)按边分任意三角形:三条边长度不相等。等腰三角形:有两条边长度相等;两个底角相等;有1条对称轴。等边三角形:三条边长度都相等;三个内角都是60度;有3条对称轴。 四、平行四边形特征:两组对边分别平行,相对的边平行且相等; 五、梯形特征:只有一组对边平行的四边形;等腰梯形有1条对称轴。

MATLAB画图入门篇--各种基本图形绘制的函数与实例

MATLAB画图入门篇--各种基本图形绘制的函数与实例【来自网络】 一.二维图形(Two dimensional plotting) 1.基本绘图函数(Basic plotting function):Plot,semilogx,semilogy,loglog,polar,plotyy (1).单矢量绘图(single vector plotting):plot(y),矢量y的元素与y元素下标之间在线性坐标下的关系曲线。 例1:单矢量绘图 y=[00.62.358.311.71517.719.420];plot(y) 可以在图形中加标注和网格, 例2:给例1的图形加网格和标注。 y=[00.62.358.311.71517.719.420];plot(y) title('简单绘图举例');xlabel('单元下标');ylabel('给定的矢量');grid (2).双矢量绘图(Double vector plotting):如x和y是同样长度的矢量,plot(x,y)命令将绘制y元素对应于x元素的xy曲线图。 例:双矢量绘图。 x=0:0.05:4*pi;y=sin(x);plot(x,y) (3).对数坐标绘图(ploting in logarithm coordinate):x轴对数semilogx,y轴对数semilogy,双对数loglog, 例:绘制数组y的线性坐标图和三种对数坐标图。 y=[00.62.358.311.71517.719.420]; subplot(2,2,1);plot(y);subplot(2,2,2);semilogx(y) subplot(2,2,3);semilogy(y);subplot(2,2,4);loglog(y) (4)极坐标绘图(Plotting in polar coordinate): polar(theta,rho)theta—角度,rho—半径 例:建立简单的极坐标图形。 t=0:.01:2*pi;polar(t,sin(2*t).*cos(2*t)) 2.多重曲线绘图(Multiple curve plotting) (1)一组变量绘图(A group variable plotting) plot(x,y) (a)x为矢量,y为矩阵时plot(x,y)用不同的颜色绘制y矩阵中各行或列对应于x的曲线。 例1: x=0:pi/50:2*pi;y(1,:)=sin(x);y(2,:)=0.6*sin(x);y(3,:)=0.3*sin(x);plot(x,y) (b)x为矩阵,y为矢量时绘图规则与(a)的类似,只是将x中的每一行或列对应于y进行绘图。。 例2: x(1,:)=0:pi/50:2*pi;x(2,:)=pi/4:pi/50:2*pi+pi/4;x(3,:)=pi/2:pi/50:2*pi+pi/2; y=sin(x(1,:));plot(x,y) (c)x和y是同样大小的矩阵时,plot(x,y)绘制y矩阵中各列对应于x各列的图形。 例3: x(:,1)=[0:pi/50:2*pi]';x(:,2)=[pi/4:pi/50:2*pi+pi/4]';x(:,3)=[pi/2:pi/50:2*pi+pi/2]'; y(:,1)=sin(x(:,1));y(:,2)=0.6*sin(x(:,1));y(:,3)=0.3*sin(x(:,1)); plot(x,y) 这里x和y的尺寸都是101×3,所以画出每条都是101点组成的三条曲线。如行列转置后就会画出101条曲线,每条线

用matlab数字图像处理四个实验

数字图像处理 实验指导书

目录 实验一MATLAB数字图像处理初步实验二图像的代数运算 实验三图像增强-空间滤波 实验四图像分割 3

实验一 MATLAB数字图像处理初步 一、实验目的与要求 1.熟悉及掌握在MATLAB中能够处理哪些格式图像。 2.熟练掌握在MATLAB中如何读取图像。 3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。 4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。 5.图像间如何转化。 二、实验原理及知识点 1、数字图像的表示和类别 一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。 图像关于x和y坐标以及振幅连续。要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。将坐标值数字化成为取样;将振幅数字化成为量化。采样和量化的过程如图1所示。因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。 作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。 图1 图像的采样和量化 根据图像数据矩阵解释方法的不同,MA TLAB把其处理为4类: ?亮度图像(Intensity images)

用matlab绘制的漂亮图形

用matlab绘制的漂亮图形 1.不同坐标系下的图形对比 theta=0:pi/20:4*pi; phi= theta.^2- theta; [t,p]=meshgrid(theta,phi); r=t.*p; subplot(1,2,1);mesh(t,p,r); ylabel('x');xlabel('y');zlabel('z'); [x,y,z]=sph2cart(t,p,r); subplot(1,2,2);mesh(x,y,z); ylabel('x');xlabel('y');zlabel('z'); 2.球曲面的法线 [x,y,z]=sphere; Surfnorm(x,y,z)

3. x=rand(100,1)*16-8; y=rand(100,1)*16-8; r=sqrt(x.^2+y.^2)+eps; z=sin(r)./r; xlin=linspace(min(x),max(x),33); ylin=linspace(min(y),max(y),33); [X,Y]= meshgrid(xlin,ylin); Z=griddata(x,y,z,X,Y); mesh(X,Y,Z); axis tight;hold on; ylabel('x');xlabel('y');zlabel('z'); plot3(x,y,z,’r’,’MarkerSize’,15)

x=rand(1000,1)*16-8; y=rand(1000,1)*16-8; r=sqrt(x.^2+y.^2)+eps; z=sin(r)./r; xlin=linspace(min(x),max(x),99); ylin=linspace(min(y),max(y),99); [X,Y]= meshgrid(xlin,ylin); Z=griddata(x,y,z,X,Y); mesh(X,Y,Z); axis tight;hold on; ylabel('x');xlabel('y');zlabel('z'); plot3(x,y,z,'r','MarkerSize',30);

小学数学总复习空间与图形试题

小学数学总复习空间与 图形试题 Document number【SA80SAB-SAA9SYT-SAATC-SA6UT-SA18】

空间与图形试题精选 一、填空题。 1. 从直线外一点到这条直线可以画无数条线段,其中最短的是和这条直线()的线段。 2. 下图中,∠1=()度,∠2=()度。 1 30 2 3. 一个三角形中,最小的角是46°,按角分类,这个三角形是()三角 形。 4. 右图是三个半径相等的圆组成的图形,它有()条对称轴。 5. 用百分数表示以下阴影部分是整个图形面积的百分之几。 6. 把一个底面直径2分米的圆柱体截去一个高1分米的圆柱体,原来的圆柱体表面积减少()平方分米。 7. “”和“”的周长之比是(),面积之比是()。 8. 右图是由棱长1厘米的小正方体木块搭成的,这个几何体的表面积是 ()平方厘米。至少还需要()块这样的小正方体才能搭成一个 大正方体。 9. 画一个周长厘米的圆,圆规两脚间的距离是()厘米,画成的圆的面 积是()。 10. 下面的小方格边长为1厘米,估一估图①中“福娃”的面积,算一算图②中阴影部分的面积。

11. 一个梯形,上底长a 厘米,下底长b 厘米,高h 厘米。它的面积是( )平方厘米。如果a=b ,那么这个图形就是一个( )形。 12. 在一块边长是20厘米的正方形木板上锯下一个最大的圆,这个圆的面积是( )平方厘米,剩下的边料是( )平方厘米。 13. 将一个大正方体切成大小相同的8个小正方体,每个小正方体的表面积是18平方厘米,原正方体的表面积是( )平方厘米。 14. 5个棱长为30厘米的正方体木箱堆放在墙角(如右图),露在外面的表面积是( )平方厘米。 15. 如下左图,已知大正方形的边长是a 厘米,小正方形的边长是b 厘米。用字母表示阴影部分的面积是( )平方厘米。 二、选择题。 1. 小青坐在教室的第3行第4列,用(4,3)表示,小明坐在教室的第1行第3列应当表示为( )。 A. (1,3) B. (3,1) C. (1,1) D. (3,3) 2. 在同一平面内,画已知直线的垂线,可以画( )。 A. 1条 B. 4条 C. 2条 D. 无数条 3. 用100倍的放大镜看40°的角,这个角的度数是( )度。 A. 4 B. 40 C. 400 D. 4000 4. 下面图形是用木条钉成的支架,最不容易变形的是( )。 D C B A 5. 下列图形中,对称轴条数最多的是( )。

matlab空间曲面绘图

空间曲面绘图 (1) 直接绘图-ezmesh 和ezsurf ezmesh 绘制三维网格图,ezsurf 绘制三维表面图。 例1 绘制抛物柱面2x 2z ?=的图形。 指令:ezmesh('2-x^2',[-1,1,-1,1]) 图7.43 指令:ezsurf('2-x^2',[-1,1,-1,1]) 图7.44 例2 绘制)xy sin(z =的图形。 指令:ezmesh('sin(x*y)',[0,4,0,4])

图7.45 例3 绘制马鞍面2y 2x z 2 2?=的图形。 指令:ezmesh('x^2/2-y^2/2') 图7.46 例4 绘制椭圆抛物面22x y 2z +=和抛物柱面2x 2z ?=所围的图形。 ezmesh('2-x^2',[-1,1,-1,1] hold on % 在同一图形窗口中继续绘图 ezmesh('2*y^2+x^2',[-1,1,-1,1]) axis([-1,1,-1,1,0,4])

图7.47 (2) 自定义网格绘图-meshgrid 和mesh/surf 例5 绘制23y x z ?=的图形。 [x,y]=meshgrid(-2:0.2:2,-3:0.1:3) % 自定义网格数据 z=x.^3-y.^2 mesh(x,y,z) 图7.48 surf(x,y,z) 图7.49 contour3(x,y,z,50) %绘制50条三维等高线

图7.50 Contour(x,y,z,40) %绘制40条二维等高线 图7.51 例6 在同一坐标系中绘制23y x z ?=和0z =的图形。 [x,y]=meshgrid(-2:0.2:2,-3:0.1:3) z=x.^3-y.^2 mesh(x,y,z) zz=zeros(size(z)) hold on mesh(x,y,zz)

matlab中绘制多个图形

绘图功能是Matlab的一个强大的功能。 subplot是MATLAB中常用的的函数。在绘图过程中经常要在一个页面中绘制几张图 它的使用格式:subplot(m,n,p)或者subplot(m n p)。 函数subplot是将多个图画到一个平面上的工具。括号中的m表示是图排成m行,n 表示图排成n列,也就是整个figure中有n个图是排成一列的,一共m行,如果m=3就是表示3行图。p表示图所在的位置,p=3表示从左到右从上到下的第3个位置。 以下是对它的一些应用,还用到了其它的一些函数 程序的代码如下 x=0:0.01:10; y1=sin(x); subplot(3,3,1); plot(x,y1); xlabel('x'); ylabel('y1'); title('y1=sin(x)');axis([0 pi*2 -1 1]); y2=cos(x+2); subplot(3,3,2); plot(x,y2); xlabel('x'); ylabel('y2');title('y2=cos(x+2)');axis([0 pi*2 -1 1]); y3=sin(x)+y2;subplot(3,3,3); plot(x,y3); xlabel('x'); ylabel('y3');title('y3=sin(x)+y2'); y4=sin(x).^3+cos(x);subplot(3,3,4);axis([0 pi*2 -1 2]); plot(x,y4); xlabel('x'); ylabel('y4');title('y4=sin(x).^3+cos(x)');axis([0 pi*2 -1 2]); y5=9*x.^5+3*x.^4+x.^3+2*x.^2;

基于Matlab基本图像处理程序

图像读入 ●从图形文件中读入图像imread Syntax: A = imread(, fmt) :指定的灰度或彩色图像文件的完整路径和文件名。 fmt:指定图形文件的格式所对应的标准扩展名。如果imread没有找到所制定的文件,会尝试查找一个名为的文件。 A:包含图像矩阵的矩阵。对于灰度图像,它是一个M行N列的矩阵。如果文件包含RGB 真彩图像,则是m*n*3的矩阵。 ●对于索引图像,格式[X, map] = imread(, fmt) X:图像数据矩阵。 MAP:颜色索引表 图像的显示 ●imshow函数:显示工作区或图像文件中的图像 ●Syntax: imshow(I) %I是要现实的灰度图像矩阵 imshow(I,[low high],param1, val1, param2, val2,...) %I是要现实的灰度图像矩阵,指定要显示的灰度范围,后面的参数指定显示图像的特定参数 imshow(RGB) imshow(BW) imshow(X,map) %map颜色索引表 imshow() himage = imshow(...)

●操作:读取并显示图像 I=imread('C:\Users\fanjinfei\Desktop\baby.bmp');%读取图像数据 imshow(I);%显示原图像 图像增强 一.图像的全局描述 直方图(Histogram):是一种对数据分布情况的图形表示,是一种二维统计图表,它的两个坐标分别是统计样本和该样本对应的某个属性的度量。 图像直方图(Image Histogram):是表示数字图像中亮度分布的直方图,用来描述图象灰度值,标绘了图像中每个亮度值的像素数。 灰度直方图:是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图像中某种灰度出现的频率。描述了一幅图像的灰度级统计信息。是一个二维图,横坐标为图像中各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在图像中出现的次数或概率。 归一化直方图:直接反应不同灰度级出现的比率。纵坐标表示具有各个灰度级别的像素在图像中出现的概率。 图像的灰度直方图:是一个离散函数,表示图像每一灰度级与该灰度级出现概率的对应关系。 图像的灰度直方图运算: imhist()函数,其横坐标表示像素的灰度级别,纵坐标为像素点的个数。 ●Imhist函数=Display histogram of image data显示灰度直方图的函数 ●Syntax: ①imhist(I) % I为要计算的灰度直方图图像 ②imhist(I, n) % n指定的灰度级的数目,表示所有灰度级均匀分布在n个小区间内。 ③imhist(X, map) ④[counts,x] = imhist(...) %counts直方图数据向量。counts(i)第i个灰度区间中的像素数目。x是保存了对应的灰度小区间的向量。 注意:若调用时不接受这个函数的返回值,则直接显示直方图;在得这些返回数据之后,也可以使用stem(x,counts)手绘直方图。 ●例1:显示某一图像的灰度直方图

相关主题