当前位置:文档之家› Matlab各种图表绘图演示

Matlab各种图表绘图演示

Matlab各种图表绘图演示
Matlab各种图表绘图演示

Matlab 各种类型图表演示(2014) 说明

强大的绘图功能是Matlab的特点之一,Matlab提供了十分丰富的的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形。尤其是Matlab 2014a/2014b 采用了全新的绘图系统,图表颜色配置,输出图片质量大大提高. 这里收集了一些Matlab绘图演示实例,从简单的plot到复杂的动画都有.

大部分例子来自Mathworks官网, 版权归Mathworks公司. 本人也将逐步加入自己编的绘图例子, 欢迎持续关注,交流[QQ: 2953212138]

目录

Matlab 各种类型图表演示(2014) (1)

说明 (1)

基本绘图 (4)

plot (1) (4)

plot (2) (5)

plot (3) (6)

ezplot 1 (7)

ezplot 2 (8)

plot3 (9)

ezplot3 (10)

loglog (11)

Semilogx (12)

Semilogy (13)

Vertical Bar (14)

bar (15)

bar3 (17)

hist (18)

pie (2) (21)

pie3 (22)

Area (23)

contour (24)

ezcontourf (25)

polar (26)

ezpolar (27)

rose (28)

scatter (29)

scatter3 (30)

stem (31)

stair (33)

gplot (34)

fill (35)

errorbar (36)

plotyy (37)

subplot (39)

subplot (40)

image (1) (42)

image (2) (43)

image (3) (44)

quiver (45)

quiver3 (46)

ribbon (47)

surf (1) (48)

surf (2) (49)

ezsurf (50)

mesh (51)

ezmesh (52)

triplot (54)

定制绘图风格 (55)

Standard Line Colors (55)

Standard Line Styles (56)

Standard Plot Markers (57)

colorbar (1) (58)

colorbar (2) (59)

Adding Lines to Plots (60)

Adding Text to Plots (1) (61)

Adding Text to Plots (2) (62)

Adding Latex to Plots (63)

shading (64)

light, lighting (65)

Change Lighting to Phong (66)

高级绘图 (68)

Area Bar Pie Charts with Annotations (68)

Colormap Chart (70)

Curve with Lower and Upper Bounds (71)

Plot in Plot (72)

Publication Quality Graphics (73)

Streamline (75)

Two Waves (76)

win (77)

Animation (78)

基本绘图

plot (1)

% Define values for x, y1, and y2

x = 0: .1 : 2*pi;

y1 = cos(x);

y2 = sin(x);

% Plot y1 vs. x (blue, solid) and y2 vs. x (red, dashed) figure

plot(x, y1, 'b', x, y2, 'r-.', 'LineWidth', 2)

% Turn on the grid

grid on

% Set the axis limits

axis([0 2*pi -1.5 1.5])

% Add title and axis labels

title('Trigonometric Functions')

xlabel('angle')

ylabel('sin(x) and cos(x)')

% Load data for the stock indices

load IndexData dates values series

% Plot the stock index values versus time figure

plot(dates, values)

% Use dateticks for the x axis

datetick('x')

% Add title and axis labels

xlabel('Date')

ylabel('Index Value')

title('Relative Daily Index Closings')

% Add a legend in the top, left corner legend(series, 'Location', 'NorthWest')

% Load Morse data

load MDdata dissimilarities dist1 dist2 dist3

% Plot the first set of data in blue

figure

plot(dissimilarities, dist1, 'bo')

hold on

% Plot the second set of data in red

plot(dissimilarities, dist2, 'r+')

% Plot the third set of data in green

plot(dissimilarities, dist3, 'g^')

% Add title and axis labels

title('Morse Signal Analysis')

xlabel('Dissimilarities')

ylabel('Distances')

% Add a legend

legend({'Stress', 'Sammon Mapping', 'Squared Stress'}, ...

'Location', 'NorthWest')

% Create the plot using the lemniscate function f(x,y) = (x^2 + y^2)^2 - x^2 + y^2 figure

ezplot('(x^2 + y^2)^2 - x^2 + y^2', [-1.1, 1.1], [-1.1, 1.1])

% Adjust the colormap to plot the function in blue

colormap([0 0 1])

% Add a multi-line title

title({'Lemniscate Function', '(x^2 + y^2)^2 - x^2 + y^2'})

% Create a series of lines for the function f(x,y) = y^2 - x^2 + c figure

ezplot('y^2 - x^2 + 4', [-3 3], [-3 3])

hold on

ezplot('y^2 - x^2 + 2', [-3 3], [-3 3])

ezplot('y^2 - x^2', [-3 3], [-3 3])

ezplot('y^2 - x^2 - 2', [-3 3], [-3 3])

ezplot('y^2 - x^2 - 4', [-3 3], [-3 3])

% Adjust the colormap to plot the function in blue colormap([0 0 1])

grid on

% Add title

title('y^2 - x^2 - c = 0 for c = -4, 4')

plot3

% Load the spectra data

load spectraData masscharge time spectra

% Create the 3D plot

figure

plot3(masscharge, time, spectra)

box on

% Set the viewing angle and the axis limits view(26, 42)

axis([500 900 0 22 0 4e8])

% Add title and axis labels

xlabel('Mass/Charge (M/Z)')

ylabel('Time')

zlabel('Ion Spectra')

title('Extracted Spectra Subset')

ezplot3

% Create the plot using the parametric functions

% x = cost(t), y = sin(t), and z = sin(5*t) for -pi < t < pi figure

ezplot3('cos(t)', 'sin(t)', 'sin(5*t)', [-pi pi])

loglog

% Create a set of values for the damping factor

zeta = [0.01 .02 0.05 0.1 .2 .5 1];

% Define a color for each damping factor

colors = ['r' 'g' 'b' 'c' 'm' 'y' 'k'];

% Create a range of frequency values equally spaced logarithmically w = logspace(-1, 1, 1000);

% Plot the gain vs. frequency for each of the seven damping factors figure

for i = 1:7

a = w.^2 - 1;

b = 2*w*zeta(i);

gain = sqrt(1./(a.^2 + b.^2));

loglog(w, gain, 'color', colors(i))

hold on

end

% Set the axis limits

axis([0.1 10 0.01 100])

% Add a title and axis labels

title('|G|(\omega) vs \omega')

xlabel('\omega')

ylabel('|G|(\omega)')

% Turn the grid on

grid on

% Load the response data

load responseData frequency magnitude

% Create an x-axis semilog plot using the semilogx function figure

semilogx(frequency, magnitude)

% Set the axis limits and turn on the grid

axis([min(frequency) max(frequency) -6.5 6.5])

grid on

% Add title and axis labels

title('Magnitude Response (dB)')

xlabel('Frequency (kHz)')

ylabel('Magnitude (dB)')

% Create some data

eb = 0:5;

SER = [0.1447 0.1112 0.0722 0.0438 0.0243 0.0122]; BER = [0.0753 0.0574 0.0370 0.0222 0.0122 0.0061];

% Create a y-axis semilog plot using the semilogy function % Plot SER data in blue and BER data in red

figure

semilogy(eb, SER, 'bo-')

hold on

semilogy(eb, BER, 'r^-')

% Turn on the grid

grid on

% Add title and axis labels

title('Performance of Baseband QPSK')

xlabel('EbNo (dB)')

ylabel('SER and BER')

Vertical Bar

% Create data for childhood disease cases

measles = [38556 24472 14556 18060 19549 8122 28541 7880 3283 4135 7953 1884]; mumps = [20178 23536 34561 37395 36072 32237 18597 9408 6005 6268 8963 13882]; chickenPox = [37140 32169 37533 39103 33244 23269 16737 5411 3435 6052 12825 23332];

% Create a vertical bar chart using the bar function

figure

bar(1:12, [measles' mumps' chickenPox'], 1)

% Set the axis limits

axis([0 13 0 40000])

set(gca, 'XTick', 1:12)

% Add title and axis labels

title('Childhood diseases by month')

xlabel('Month')

ylabel('Cases (in thousands)')

% Add a legend

legend('Measles', 'Mumps', 'Chicken pox')

bar

% Create data for childhood disease cases

measles = [38556 24472 14556 18060 19549 8122 28541 7880 3283 4135 7953 1884]'; mumps = [20178 23536 34561 37395 36072 32237 18597 9408 6005 6268 8963 13882]'; chickenPox = [37140 32169 37533 39103 33244 23269 16737 5411 3435 6052 12825 23332]';

% Create a stacked bar chart using the bar function

figure

bar(1:12, [measles mumps chickenPox], 0.5, 'stack')

% Adjust the axis limits

axis([0 13 0 100000])

set(gca, 'XTick', 1:12)

% Add title and axis labels

title('Childhood diseases by month')

xlabel('Month')

ylabel('Cases (in thousands)')

% Add a legend

legend('Measles', 'Mumps', 'Chicken pox')

Horizontal Bar

% Create the data for the temperatures and months

temperatures = [40.5 48.3 56.2 65.3 73.9 69.9 71.1 59.5 48.7 35.3 31.7 30.0]; months = {'Dec', 'Nov', 'Oct', 'Sep', 'Aug', 'Jul', 'Jun', 'May', 'Apr', 'Mar', 'Feb', 'Jan'};

% Plot the temperatures on a horizontal bar chart

figure

barh(temperatures)

% Set the axis limits

axis([0 80 0 13])

% Add a title

title('Boston Monthly Average Temperature - 2001')

% Change the Y axis tick labels to use the months

set(gca, 'YTick', 1:12)

set(gca, 'YTickLabel', months)

% Load monthly temperature data

load MonthlyTemps temperatures months years

% Create the 3D bar chart

figure

bar3(temperatures)

axis([0 13 0 12 0 80])

% Add title and axis labels

title('Boston Monthly Temperatures 1900-2000') xlabel('Month')

ylabel('Year')

zlabel('Temperature')

% Change the x and y axis tick labels

set(gca, 'XTickLabel', months)

set(gca, 'YTickLabel', years)

% Load nucleotide data

load nucleotideData ncount

% Create the histogram using the hist function figure

hist(ncount)

colormap summer

% Add a legend

legend('A', 'C', 'G', 'T')

% Add title and axis labels

title('Histogram of nucleotide type distribution') xlabel('Occurrences')

ylabel('Number of sequence reads')

pie (1)

% Load the data for US population by age 1860-2000

load populationAge population groups

% Get the population for each age group for the year 2000

age2000 = population(15, :);

% Create a pie chart using the pie function -- use age groups as labels figure

pie(age2000, groups)

% Add title

title('US population by age for the year 2000')

非常全非常详细的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基本图像处理程序

图像读入 ●从图形文件中读入图像 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命令画出simulink示波器图形

毕业论文答辩已经结束很长时间了,现在总结一下我在做毕业论文时的用MATLAB命令画出simulink示波器图形的一点方法,我也是MATLAB初学者,所用方法不算高明方法,并且这些方法在论坛应该都能找到,请大家见谅。 第一步,将你的示波器的输出曲线以矩阵形式映射到MATLAB的工作空间内。 如图1所示,双击示波器后选择parameters目录下的Data history,将Save data to workspace勾上,Format选择Array,Variable name即你输入至工作空间的矩阵名称,这里我取名aa。在这之后运行一次仿真,那么你就可以在MATLAB的工作空间里看到你示波器输出曲线的矩阵aa。如图2所示。 第二步,用plot函数画出曲线 双击曲线矩阵aa,将可以看到详细情况,我这里的aa矩阵是一个1034行,3 列的矩阵,观察这个矩阵即可以发现,这个矩阵的第一列是仿真时间,而由于我仿真时示波器内输出的是两条曲线,所以第二列和第三列即分别代表了这2条曲线。同时大家要注意,在simulink中我们有时往往在示波器中混合输出曲线,那么就要在示波器前加一个MUX混合模块,因此示波器内曲线映射到的工作空间的矩阵是和你的MUX的输入端数有关,如果你设置了3个MUX输入端,而实际上你只使用了2个,那么曲线矩阵仍然会有4列,并且其中一列是零,而不是3列。 理解曲线矩阵的原理之后,我们就可以用plot函数画出示波器中显示的图形了。 curve=plot(aa(:,1),aa(:,2),aa(:,1),aa(:,3),'--r') %aa(:,1)表示取aa的第一列,仿真时间 %aa(:,2)表示取aa的第二列,示波器的输入一 %aa(:,3)表示取aa的第三列,示波器的输入二 %--r表示曲线2显示的形式和颜色,这里是(red) set(curve(1),'linewidth',3) %设置曲线1的粗细 set(curve(2),'linewidth',3) %设置曲线2的粗细 legend('Fuzzy','PID') %曲线名称标注 xlabel('仿真时间(s)') %X坐标轴名称标注 ylabel('幅值') %Y轴坐标轴标注 title('Fuzzy Control VS PID') %所画图的名称 grid on %添加网格 运行上述命令后即可以看到用MATLAB命令画出的图形了,你可以在图形出来之后继续进行编辑。

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图像处理报告

基于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爱好者都编写了一些经典的程序,用户直接进行下载就可以用。

用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画图命令积累 aimit 2009-08-26 23:49 发表 subplot(3,2,1) plot(x) title('默认格式') subplot(3,2,2) plot(x) set(gca,'xtick',[1 3 6 8]); set(gca,'ytick',[]); title('X自定义间隔,Y关闭') subplot(3,2,3) plot(x) set(gca,'xtick',[1 3 6 8]); set(gca,'xticklabel',sprintf('%03.4f|',get(gca,'xtick'))) set(gca,'ytick',[2 4 5 7]); set(gca,'yticklabel',{'Two','Four','Five','Seven'}); title('XY自定义间隔、精度及显示方式') subplot(3,2,4) plot(x) set(gca,'xminortick','on');%style 5 set(gca,'ticklength',[0.05 0.025]); set(gca,'tickdir','out'); title('XY坐标刻度显示方式') subplot(3,2,5) plot(x) set(gca,'xtick',[min(x) (max(x)+min(x))/2 max(x)]); set(gca,'ytick',[min(x) (max(x)+min(x))/2 max(x)]); title('论文中常用的标准3点式显示') x=20:10:20000; y=rand(size(x)); subplot(3,2,6) semilogx(x,y); set(gca,'XLim',[20 20000]); set(gca,'XMinorTick','off'); set(gca,'XTick',[20 31.5 63 125 250 500 1000 2000 4000 8000 16000]); set(gca,'XGrid','on');

基于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:显示某一图像的灰度直方图

常见的MATLAB绘图程序

常见的MATLAB绘图程序y=[3,7,9,1,5,2,8]; subplot(1,2,1),plot(y,'linewidth',2),grid x=[3,3,9;8,1,2;1,8,5;7,9,1]; subplot(1,2,2),plot(x),xlabel('x'),ylabel('y') grid on %极坐标曲线 theta=0:0.1:8*pi; polar(theta,cos(4*theta)+1/4) %对数坐标 x=0:0.1:2*pi; y=sin(x); semilogx(x,y); grid on %各种坐标系中 theta=0:0.1:6*pi; r=cos(theta/3)+1/9; subplot(2,2,1),polar(theta,r); subplot(2,2,2),plot(theta,r); subplot(2,3,4),semilogx(theta,r); subplot(2,3,5),semilogy(theta,r); subplot(2,3,6),loglog(theta,r); grid on %双y轴图形 x=0:0.01:5; y=exp(x); plotyy(x,y,x,y,'semilogy','plot'),grid grid on %复数数据 t=0:0.1:2*pi; x=sin(t); y=cos(t); z=x+i*y; plot(t,z),grid plot(z) grid on %二维图形处理 x=(0:0.1:2*pi)'; y1=2*exp(-0.5*x)*[1,-1]; y2=2*exp(-0.5*x).*sin(2*pi*x); x1=(0:12)/2; y3=2*exp(-0.5*x1).*sin(2*pi*x1);

Matlab图像处理函数汇总

1、图像的变换 ①fft2:fft2函数用于数字图像的二维傅立叶变换,如:i=imread('104_8.tif'); j=fft2(i); ②ifft2::ifft2函数用于数字图像的二维傅立叶反变换,如: i=imread('104_8.tif'); j=fft2(i); k=ifft2(j); 2、模拟噪声生成函数和预定义滤波器 ①imnoise:用于对图像生成模拟噪声,如: i=imread('104_8.tif'); j=imnoise(i,'gaussian',0,0.02);%模拟高斯噪声 ②fspecial:用于产生预定义滤波器,如: h=fspecial('sobel');%sobel水平边缘增强滤波器 h=fspecial('gaussian');%高斯低通滤波器 h=fspecial('laplacian');%拉普拉斯滤波器 h=fspecial('log');%高斯拉普拉斯(LoG)滤波器 h=fspecial('average');%均值滤波器 2、图像的增强 ①直方图:imhist函数用于数字图像的直方图显示,如: i=imread('104_8.tif'); imhist(i); ②直方图均化:histeq函数用于数字图像的直方图均化,如: i=imread('104_8.tif'); j=histeq(i); ③对比度调整:imadjust函数用于数字图像的对比度调整,如:i=imread('104_8.tif'); j=imadjust(i,[0.3,0.7],[]); ④对数变换:log函数用于数字图像的对数变换,如: i=imread('104_8.tif'); j=double(i);

matlab 常用画图调整命令汇总(带例子)

Matlab常用画图调整 1.%单y轴 2.plot(t*1e+9,abs(iGG)/max(abs(iGG)),'k','linewidth',2); 3.axis([-5,5,0,1]) 4.xlabel('时间/ns'); 5.ylabel('幅度/a.u.'); 6.set(get(gca,'title'),'FontSize',10,'FontName','宋体');%设置标题字体大小,字型 7.set(get(gca,'XLabel'),'FontSize',10,'FontName','Times New Roman');%设置X坐标标题字 体大小,字型 8.set(get(gca,'YLabel'),'FontSize',10,'FontName','Times New Roman');%设置Y坐标标题字 体大小,字型 9.set(gca,'FontName','Times New Roman','FontSize',10)%设置坐标轴字体大小,字型 10.text(0.3,1.2,'(a)','FontSize',10,'FontName','Times New Roman');%设置文本字型字号 11.set(gca,'XTick',[0 10 20 30 40 50 60 70 80 90])%设置X坐标轴刻度数据点位置 12.set(gca,'XTickLabel',{'0','10','20','30','40','50','60','70','80','90'})%设置X坐 标轴刻度处显示的字符 13.set(gca,'YTick',[-15 -10 -5 0 5 10 15])%设置X坐标轴刻度数据点位置 14.set(gca,'YTickLabel',{'-15','-10','-5','0','5','10','15'})%设置Y坐标轴刻度处显示的 字符 15.axis([0,90,-20,20]) 16.set(gca,'YTickLabel',[]);%只显示y坐标轴刻度,不显示y坐标轴的值; 17.set(gca,'XTickLabel',[]);%只显示x坐标轴刻度,不显示x坐标轴的值; 18.set(gca,'ytick',[]);%y轴的坐标值和刻度均不显示; 19.set(gca,'xtick',[]);%x轴的坐标值和刻度均不显示; 20. 21.figure; 22.set(gcf,'Position',[400,300,600,200]);%设定plot输出图片的尺寸。参数含义为: xmin,ymin,width,height 23.%plot的默认参数为[232,246,560,420],Position的单位可以用units属性制定,units属性的值 可以是下列字符串中的任何一 24.%种:pixel(像素,缺省值)、normalized(相对单位)、inches(英寸)、centimeters(厘米)、 points(磅)。 25.%指定大小后,在figure中用text输出的文字大小,设置的是多大,在WORD中显示的就是多大。 26.set(gcf,'units','centimeters','Position',[4,3,6,2]);%指定fiugre的尺寸为6cm宽,2cm 高。 27.%也可以直接用下属语句: 28.fiure('units','centimeters','Position',[4,3,6,2]); 29. 30.%改变ylabel离坐标轴的距离 31.hc=findobj(allchild(gcf),'Type','axes'); 32.hc2=findobj(allchild(hc),'Type','text'); 33.set(hc2(3),'Position',[0 0 0]);

实验一 Matlab_图像处理基本操作

实验一Matlab 图像处理基本操作和付立叶变换 一、matlab基本操作 1. 显示图像 >> I1=imread('D:\图像\LENA.BMP'); >> imshow(I1); >> I2=imread('D:\图像\***.BMP'); >> imshow(I2); 2、检查内存(数组)中的图像: >> whos 3、保存图像: >> imwrite(I2,'lena_2G.png'); % 将图像由原先的bmp格式另存为png格式 4、多幅图像显示 >> I1=imread('D:\图像\LENA.BMP'); >> figure //出现图形显示窗口>> subplot(1,2,1),imshow(I1);

>> I2=imread('D:\图像\**.BMP'); >> subplot(1,2,2),imshow(I2); 二、傅里叶变换 1.目的: a、理解傅里叶变换的原理 b、掌握傅里叶变换的性质 2.实验步骤: a. 首先构造一幅黑白二值图像,在128×128的黑色背景中心产生一个4×4的白色方块,对其进行傅里叶变换;(Matlab中用fft2实现2D傅里叶变换) b.把低频分量移到图象中心,而把高频分量移到四个角上;(方法有两种: 其一,在FT以前对测试图象逐点加权(-1)^(i+j);其二,利用FFTSHIFT函数); c.利用图象增强中动态范围压缩的方法增强2DFT;(Y=C*log(1+abs (X))); d.构造一幅黑白二值图像,在128×128的黑色背景中令第32行至36行、第 32列至第36列的值为1(即产生一个4×4的白色方块),对其进行傅里叶

MATLAB中绘图命令介绍

MATLAB中绘图命令介绍 本节将介绍MATLAB基本xy平面及xyz空间的各项绘图命令,包含一维曲线及二维曲面的绘制。 plot是绘制一维曲线的基本函数, 但在使用此函数之前,我们需先定义曲线上 每一点的x 及y座标。 下例可画出一条正弦曲线: close all; x=linspace(0, 2*pi, 100); % 100个点的x坐标 y=sin(x); % 对应的y坐标 plot(x,y); 小整理:MATLAB基本绘图函数 plot: x轴和y轴均为线性刻度(Linear scale) loglog: x轴和y轴均为对数刻度(Logarithmic scale) semilogx: x轴为对数刻度,y轴为线性刻度 semilogy: x轴为线性刻度,y轴为对数刻度 若要画出多条曲线,只需将座标对依次放入plot函数即可: hold on 保持当前图形,以便继续画图到当前坐标窗口 hold off 释放当前图形窗口 title(’图形名称’)(都放在单引号内) xlabel(’x轴说明’) ylabel(’y轴说明’)

text(x,y,’图形说明’) legend(’图例1’,’图例2’,…) plot(x, sin(x), x, cos(x)); 若要改变颜色,在座标对後面加上相关字串即 可: plot(x, sin(x), 'c', x, cos(x), 'g'); 若要同时改变颜色及图线型态,也是在座标对後 面加上相关字串即可: plot(x, sin(x), 'co', x, cos(x), 'g*'); 小整理:plot绘图函数的叁数字元、颜色元、图 线型态, y 黄色.点k 黑色o 圆w 白色x xb 蓝色+ +g 绿色* *r 红色- 实线c 亮青色: 点线m 锰紫色-. 点虚线-- 虚线plot3 三维曲线作图 图形完成后,我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围: axis([0, 6, -1.2, 1.2]); axis函数的功能丰富,其常用的用法有: axis equal :纵横坐标轴采用等长刻度 axis square:产生正方形坐标系(默认为矩形)

matlab图像处理综合实验实验报告

《数字图像处理》 实验报告 学院: 专业: 班级: 姓名: 学号:

实验一 实验名称:图像增强 实验目的:1.熟悉图像在Matlab下的读入,输出及显示; 2.熟悉直方图均衡化; 3.熟悉图像的线性指数等; 4.熟悉图像的算术运算及几何变换. 实验仪器:计算机,Matlab软件 实验原理: 图像增强是为了使受到噪声等污染图像在视觉感知或某种准则下尽量的恢复到原始图像的水平之外,还需要有目的性地加强图像中的某些信息而抑制另一些信息,以便更好地利用图像。图像增强分频域处理和空间域处理,这里主要用空间域的方法进行增强。空间域的增强主要有:灰度变换和图像的空间滤波。 图像的直方图实际上就是图像的各像素点强度概率密度分布图,是一幅图像所有像素集合的最基本统计规律,均衡化是指在每个灰度级上都有相同的像素点过程。 实验内容如下: I=imread('E:\cs.jpg');%读取图像 subplot(2,2,1),imshow(I),title('源图像') J=rgb2gray(I)%灰度处理 subplot(2,2,2),imshow(J) %输出图像 title('灰度图像') %在原始图像中加标题 subplot(2,2,3),imhist(J) %输出原图直方图 title('原始图像直方图') 0100200

I=imread('E:\cs.jpg');%读取图像 subplot(1,2,1),imshow(I); theta = 30; K = imrotate(I,theta); subplot(1,2,2),imshow(K) 对数运算: I=imread('E:\dog.jpg'); subplot(2,2,1),imshow(I),title('源图像') J=rgb2gray(I)%灰度处理 subplot(2,2,2),imshow(J),title('灰度变换后图像') J1=log(1+double(J)); subplot(2,2,3),imshow(J1,[]),title('对数变换后') 指数运算: I=imread('E:\dog.jpg'); f=double(I); g=(2^2*(f-1))-1 f=uint8(f); g=uint8(g);

教你如何用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向量即可输出曲线:

MATLAB中的绘图程序

MATLAB中的绘图程序 2011-03-25 12:45:48| 分类:matlab | 标签:绘图 matlab |字号大中小订阅 matlab中如何在指定一点画一个填充颜色的小圆 plot(1,1,'r.','markersize',50) §4.1二维作图 绘图命令plot绘制x-y坐标图;loglog命令绘制对数坐标图;semilogx和semilogy命令绘制半对数坐标图;polar命令绘制极坐标图. §4.1.1 基本形式 如果y是一个向量,那么plot(y)绘制一个y中元素的线性图.假设我们希望画出 y=[0., 0.48, 0.84, 1., 0.91, 6.14 ] 则用命令:plot(y) 它相当于命令:plot(x, y),其中x=[1,2,…,n]或x=[1;2;…;n],即向量y的下标编号, n为向量y 的长度 Matlab会产生一个图形窗口,显示如下图形,请注意:坐标x和y 是由计算机自动绘出的. 图4.1.1.1 plot([0.,0.48,0.84,1.,0.91,6.14]) 上面的图形没有加上x轴和y轴的标注,也没有标题.用xlabel,ylabel,title命令可以加上.如果x,y是同样长度的向量,plot(x,y)命令可画出相应的x元素与y元素的x-y坐标图.例:x=0:0.05:4*pi; y=sin(x); plot(x,y) grid on, title(' y=sin( x ) 曲线图' ) xlabel(' x = 0 : 0.05 : 4Pi ') 结果见下图.

图4.1.1.2 y=sin(x)的图形 表4.1.1.1 Matlab图形命令 §4.1.2 多重线 在一个单线图上,绘制多重线有三种办法. 第一种方法是利用plot的多变量方式绘制: plot(x1,y1,x2,y2,...,xn,yn) x1,y1,x2,y2,...,xn,yn是成对的向量,每一对x, y在图上产生如上方式的单线.多变量方式绘图是允许不同长度的向量显示在同一图形上. 第二种方法也是利用plot绘制,但加上hold on/off命令的配合: plot(x1,y1) hold on plot(x2,y2) hold off 第三种方法还是利用plot绘制,但代入矩阵: 如果plot用于两个变量plot(x,y),并且x,y是矩阵,则有以下情况: (1)如果y是矩阵,x是向量,plot(x,y)用不同的画线形式绘出y的行或列及相应的x向量,y的行或列的方向与x向量元素的值选择是相同的. (2)如果x是矩阵,y是向量,则除了x向量的线族及相应的y向量外,以上的规则也适用.(3)如果x,y是同样大小的矩阵,plot(x,y)绘制x的列及y相应的列. 还有其它一些情况,请参见Matlab的帮助系统. §4.1.3 线型和颜色的控制 如果不指定划线方式和颜色,Matlab会自动为您选择点的表示方式及颜色.您也可以用不同的符号指定不同的曲线绘制方式.例如:

matlab图形处理工具

1、matlab函数bwareaopen──删除小面积对象 格式:BW2 = bwareaopen(BW,P,conn) 作用:删除二值图像BW中面积小于P的对象,默认情况下使用8邻域。 算法: (1)Determine the connected components. L = bwlabeln(BW, conn); (2)Compute the area of each component. S = regionprops(L, 'Area'); (3)Remove small objects. bw2 = ismember(L, find([S.Area] >= P)); 2、matlab函数bwarea──计算对象面积 格式:total = bwarea(BW) 作用:估计二值图像中对象的面积。 注:该面积和二值图像中对象的像素数目不一定相等。 3、matlab函数imclearborder──边界对象抑制 格式:IM2 = imclearborder(IM,conn) 作用:抑制和图像边界相连的亮对象。若IM是二值图,imclearborder将删除和图像边界相连的对象。默认情况conn=8。 注:For grayscale images, imclearborder tends to reduce the overall intensity level in addition to suppressing border structures. 算法: (1)Mask image is the input image. (2)Marker image is zero everywhere except along the border, where it equals the mask image. 4、matlab函数bwboundaries──获取对象轮廓 格式:B = bwboundaries(BW,conn)(基本格式) 作用:获取二值图中对象的轮廓,和OpenCV中cvFindContours函数功能类似。B是一个P×1的cell数组,P为对象个数,每个cell是Q×2的矩阵,对应于对象轮廓像素的坐标。 5、matlab函数imregionalmin──获取极小值区域 格式:BW = imregionalmin(I,conn) 作用:寻找图像I的极小值区域(regional maxima),默认情况conn=8。 Regional minima are connected components of pixels with a constant intensity value, and whose external boundary pixels all have a higher value. 6、matlab函数bwulterode──距离变换的极大值 格式:BW2 = bwulterode(BW,method,conn)

matlab绘图命令

Matlab绘图命令 1.fill/patch 功能用颜色填充二维多边形。 用法fill(X,Y,C) 用x和y中的数据生成多边形,用c指定的颜色填充它。 其中c为色图向量或矩阵。若c是行向量,则要求c的维数等于 x和y 的列数,若c为列向量,则要求c的维数等于x和y的行 数。 fill(X,Y,ColorSpec) 用ColorSpec指定的颜色填充由x和y定义的多边 形 fill(X1,Y1,C1,X2,Y2,C2,…) 指定多个要填充的二维区域 fill(…,'Prop ertyName',PropertyValue) 允许用户对一个patch图形对象 的某个属性设定属性值。 h = fill(…) 返回patch图形对象句柄的向量,每一个patch对象对应 一个句柄。 注意: 1. 若x或y是一矩阵,另一个是向量,向量应是维数与矩阵的行数相等的 列向量或是维数等于矩阵列数的行向量时,函数fill将向量复制成与矩阵同型的矩阵。函数fill将矩阵x与y中列向量中的数据生成多边形的顶点。 2. 颜色阴影类型决定于用户在参数中列出的颜色,若用户用ColorSpec指定 颜色,命令fill生成平坦阴影模式(flat-shaded)多边形,同时设置补片对象(patch)的FaceColor属性为相应的RGB颜色矩阵。 3. 若用户用参量c指定所用颜色,命令fill按坐标轴属性Clim的比例缩小 c中的元素,之后,c成为引用当前色图的下标矩阵。 4. 若c为行向量,命令fill生成平面阴影的多边形,c的每一元素决定由矩 阵x,y的每一列定义的多边形内的颜色,每一补片对象的FaceColor属性被设置为'flat',x,y的每一行元素变成第n块补片对象的Cdata属性值,其中n为矩阵x或y中的相应的列。 5. 若c为一列向量或一矩阵,命令fill运用一线性插值法计算每一节点的颜 色,以便用插值颜色填充多边形的内部。它设置补片对象的FaceColor属性为‘interp’,且在一列中的元素变成每一补片的Array Cdata属性值。若c为一列向量,命令fill用该 向量复制成需要大小的尺寸。 例7-6 >>t = (1/16:1/8:1)'*2*pi; >>x = exp(t).*sin(t); >>y = t.*cos(t); >>fill(x,y,'k') >>grid on 图7-7 Fill/patch命令,填充颜色: patch([f(1) f f(end)]/1e6,[-150 10*log10(PSD_RDSS_norm) -150], 'r', 'FaceAlpha', 0.5);hold on;

相关主题
文本预览
相关文档 最新文档