文档库 最新最全的文档下载
当前位置:文档库 › matlab图像输出设置

matlab图像输出设置

matlab图像输出设置
matlab图像输出设置

核心方法:通过图像设置命令,直接指定图片的大小。

具体操作:

(1) 完成画图及相关设置(字体大小、线宽、图例大小也是正常尺寸),

(2) 此时WindowStyle is 'docked',要改为normal,有两种操作:

1)在Figure properties——more properties中找到

Windowstyle,然后用鼠标改为normal;

2)或者直接用命令:

set (gcf,'windowstyle','normal')

(3) 根据排版要求,确定图片的宽高,例如320*320 像素,然后使用命令

set (gcf,'Position',[500,300,320,320])

set(gcf,'Units','centimeters','Position',[100 100 98]);

% figure的position中的[left bottom width height] 是指figure的可画图的部分的左下角的坐标以及宽度和高度。

(4) 使用copy figure将图片输出到Word

1.figure;

2.hold on;

3.set(gca, 'YTick', [0 : 0.2 : 1]);

4.box off;

5.set(gca, 'YTickLabel', {'matlab1', 'matlab2', 'matlab3',...

6. 'matlab4', 'matlab5', 'matlab6'})

1.hold on

2.xL=xlim;

3.yL=ylim;

4.plot(xL,[yL(2),yL(2)],'k',[xL(2),xL(2)],[yL(1),yL(2)],'k')

5.box off

6.axis([xL yL])

1.t=linspace(0,8,100);

%%% linspace(X1, X2) generates a row vector of 100 linearlyequally spaced points between X1 and X2.

linspace(X1, X2, N) generates N points between X1 and X2.

2.a1=axes;

%% axes Create axes in arbitrary positions.

axes('position', RECT) opens up an axis at the specified locationand returns a handle to it.

RECT = [left, bottom, width, height] specifies the location and size of the side of the axis box, relative to the lower-left corner of the Figure window, in normalized units where (0,0) is the lower-left corner and (1.0,1.0) is the upper-right.

3.plot(t,sin(t));

4.xt=get(gca,'xtick');

5.set(gca,'XTick',[],'XColor','w');

6.xL=xlim;

7.p=get(gca,'Position');

8.box off;

1.figure

2.a2=axes('Position',p+[0,p(4)/2,0,-p(4)/2]); % 确定坐标位置,p为上述

3.xlim(xL); %定义x轴坐标

4.box off;

5.set(gca,'XTick',xt,'Color','None','YTick',[]);

简单点儿说吧:xtick是刻度(小竖线);xticklabel 刻度值(竖线下面的数值)。

set(gca,'xtick',-pi:pi/2:pi)这句的意思是:手动设置x轴刻度,-pi到pi之间,每间隔pi/2,划一小竖线;

set(gca,'xticklabel',{'-pi','-pi/2','0','pi/2','pi'})这句的意思是:给刚才划上的小竖线,标个数值。如果你把它改成:set(gca,'xticklabel',{'a','b','c','d','e'}),那么那小竖线下就变成:a,b,c,d,e了。

希望对你有用!

findobj

findobj:特殊属性的图形对象

语法:

1.findobj:

findobj返回根对象的句柄和所有子对象(findobj returns handles of the root object and all its descendants without assigning the result to a variable.)

2.h = findobj:

返回根对象的句柄和所有子对象

3.h = findobj('PropertyName',PropertyValue,...)

返回所有属性名为‘PropertyName’,属性值为'PropertyValue'的图形对象的句柄。可以指定多个属性/值对。

4.h = findobj('PropertyName',PropertyValue,'-logicaloperator',

PropertyName',PropertyValue,...)

-logicaloperator可以取值:

-and

-or

-xor

-not

5.h = findobj('-regexp','PropertyName','regexp',...)

属性名可以使用正则表达式

6.h = findobj('-property','PropertyName')

如果存在‘PropertyName’这个属性名,就返回此图形句柄

7.h = findobj(objhandles,...)

限制搜索范围为objhandles和他们的子图中

8.h = findobj(objhandles,'-depth',d,...)

指定搜索深度,深度参数'd'控制遍历层数,d为inf表示遍历所有层,d为0等同d='flat'

9.h = findobj(objhandles,'flat','PropertyName',PropertyValue,...)

'flat'限制搜索范围只能是当前层,不能搜索子图。

如果句柄指向一个不存在的图形,findobj返回一个错误。

findobj正确匹配任何合法属性值,例如:

findobj('Color','r')

找到所有color值为红的对象。

为了寻找满足指定条件的额handle对象,我们可以使用handle.findobj。

例子:

在当前坐标下查找所有直线对象:

h = findobj(gca,'Type','line') %gca为当前坐标的句柄

查找Label属性设为'foo'和String设为'bar'的所有对象:

h = findobj('Label','foo','-and','String','bar');

查找String不为'foo'也不为'bar'的所有对象:

h = findobj('-not','String','foo','-not','String','bar');

h = findobj('String','foo','-and','Tag','button one',...

'-and','-not',{'Color','red','-or','Color','blue'})

Find all objects for which you have assigned a value to the Tag property (that is, the value is not the empty string ''):

h = findobj('-regexp','Tag','[^'']')

Find all children of the current figure that have their BackgroundColor property set to a certain shade of gray ([.7 .7 .7]). This statement also searches the current figure for the matching property value pair.

h = findobj(gcf,'-depth',1,'BackgroundColor',[.7 .7 .7])

Matlab正则表达式

正则表达式在处理字符串及文本时显得十分方便,在perl, python等脚本语言,以及java, .net 等平台上都支援正则表达式。事实上,在MATLAB中也提供了正则表达式的支持。主要包含三个常用的函数:regexp(), regexpi(), regexprep()。其中regexp()用来匹配正则表达式,

regexpi()完成类似的功能,但是忽略字符串的大小写,regexprep()则按照指定的pattern完成替换功能。

MATLAB正则表达式主要包含以下特殊匹配符号:

. 匹配任何单个字符(包括空白字符)

[abc] 匹配括号里包含的任何单个字符,a或b或c

[^abc] 匹配括号中字符以外的任何单个字符,任何除a和b和c外的字符

[a-x] 匹配a-x范围内的任何单个字符

\s 匹配任何空白字符,等效于[ \f\n\r\t\v]

\S 匹配任何非空白字符,等效于[^ \f\n\r\t\v]

\w 匹配任何字母,数字或下划线字符,对于英文字符集,等效于[a-zA-Z_0-9]

\W 匹配任何除了字母,数字或下划线以外的字符,对于英文字符集,等效于[^a-zA-Z_0-9] \d 匹配任何数字,等效于[0-9]

\D 匹配任何数字以外的字符,等效于[^0-9]

分组和捕获

(expr) 分组并捕获

(?:expr) 分组但不捕获

expr1|expr2 匹配expr1或者expr2

非匹配操作符(常用于在正则表达式内添加注释)

(?# blabla) blabla是注释内容

占位符

^ 字符串起始

$ 字符串结尾

\<单词起始

\>单词结尾

环视

(?=expr) 从当前位置向前看(字符串向右的方向),测试是否匹配expr

(?!expr) 从当前位置向前看(字符串向右的方向),测试是否不匹配expr

(?<=expr) 从当前位置向后看(字符串向左的方向),测试是否匹配expr

(?

定义数量

expr{m,n} 至少m次,最多n次

expr{m,} 至少m次,没有上限

expr{n} 正好n次

expr? 出现0次或1次

expr* 出现任意次(可以是0次)

expr+ 出现1次或更多次

捕获

(expr) 捕获匹配得到的字符串

\N 匹配第N次捕获的字符串

$N 引用第N次捕获的字符串

(?(N)s1|s2) 如果存在第N次捕获的字符串,则匹配s1,否则匹配s2

给捕获命名

(?expr) 给捕获的字符串起名字叫name

\k匹配名叫name的被捕获的字符串

$引用名叫name的被捕获字符串

(?(name) s1 | s2) 我想您应该知道是什么意思

nargin是用来判断输入变量个数的函数,这样就可以针对不同的情况执行不同的功能。通常可以用他来设定一些默认值,如下面的函数。

例子,函数test1的功能是输出a和b的和。如果只输入一个变量,则认为另一个变量为0,如果两个变量都没有输入,则默认两者均为0。

function y=test1(a,b)

if nargin==0

a=0;b=0;

elseif nargin==1

b=0;

end

y=a+b;

Matlab set 函数

1.MATLAB给每种对象的每一个属性规定了一个名字,称为属性名,而属性名的取值成为属性值。例如,LineStyle是曲线对象的一个属性名,它的值决定着线型,取值可以是'-' 、':'、'-.'、'--'或'none'。

2.属性的操作

set函数的调用格式为:

set(句柄,属性名1,属性值1,属性名2,属性值2,…)

例子:

clear

x=0:0.2:12;

y1=bessel(1,x);

y2=bessel(2,x);

y3=bessel(3,x);

h=plot(x,y1,x,y2,x,y3);

set(h,{'LineWidth'},{2;5;8}) %set(h,{'LineWidth'},{2})==set(h,'LineWidth',2),将所有线宽设置为2

set(h,{'Color'},{'r';'g';'b'},{'LineStyle'},{'--';':';'-.'}) %设置颜色和线宽

axis([0 12 -0.5 1]) %设置坐标轴范围

grid on

X=0:1:12;

Y=-0.5:0.25:1;

set(gca,'xtick',X,'ytick',Y) %设置网格的显示格式,gca获取当前figure的句柄

set(xlabel('Time'),'FontSize',12,'Color','r')

y=ylabel('Amplitude');

set(y,'FontSize',12,'Color','g')

legend(h,'First','Second','Third') %添加图例

title('Bessel Functions') %添加标题

[y,ix]=min(y1); %找到y1的最小值以及改值的下标,赋给y和ix

text(x(ix),y,'First Min \rightarrow','HorizontalAlignment','right') %插入文本

具体可改哪些属性值见贴

https://www.wendangku.net/doc/1b8549558.html,/xth543/218124/Message.aspx

这两天在看句柄式图形方面的东西,以下是我在看书过程中整理的学习笔记,比较详细的介绍了句柄以及与其密切相关的各种图形对象和它们的属性。希望能对初学Matlab界面设计的朋友们有所帮助。

GUI学习笔记:

句柄式图形常用函数:

(1)get(h)返回句柄值h所指定的图形对象的所有属性名称与相对应的属性值

(2)a = get(h)返回由句柄值h所指定的图形对象的属性结构数组,并且该数组的字段名称就是该对象的属性名称。

(3)a = get(0,'factory')返回所有能由用户设置的属性的默认定义值。

(4)a = get(0,'FactoryObjectTypePropertyName1','FactoryObjectTypePropertyName2',...)返回指定对象类型指定的属性值,输入参数FactoryObjectTypePropertyName为一个关键词,由字符Factory与图形对象类型(如Figure)还有属性名称(如Color)组成。

a = get(0,'factoryFigureColor')返回Figure对象的Color属性值。

(5)a = get(h,'DefaultObjectTypePropertyName1','DefaultObjectTypePropertyName1',...)

返回句柄值为h的对象指定属性的默认值。如“DefaultFigureColor”。

(6)a = get(h,'default')列出h对象的所有属性的默认属性值

(7)a = set(h)返回句柄值h所指定的图形对象的所有属性名称对应的可设置属性值,a为结构数组,存储对象的属性名称,其字段值为相对应的属性值。属性值中用{}括起来的表示默认值。

(8)set(h,a)使用指定的属性值来设置由句柄值h所指定的对象属性,a为结构数组,其字段名称为对象的属性名称,字段值为相对应的属性值。

(9)a = set(0,'factory')返回那些用户可以设置默认值的所有对象的属性,同时显示可设置的属性值。(10)a=set(0,'FactoryObjectTypePropertyName')返回所有对象中指定的属性名称FactoryObjectTypePropertyName的所有可能的属性值。

(11)a = set(h,'属性名','属性值')设置句柄值为h的对象的与属性名对应的属性值。

(12)set(h,'DefaultObjectTypePropertyName1','DefaultObjectTypePropertyName2',...)对句柄值为h的对象设置特定属性名称的属性默认值。

(13)H = findobj;返回Root对象与其所有子对象的句柄值

(14)H = findobj(h);返回h变量的句柄值

(15)H = findobj(?属性名称…,?属性值…);依据对象的属性名称和属性值找出匹配的对象句柄值。(16)H = findobj(ObjectHandles,?属性名称…,?属性值…);根据限定的对象列表找出与对象的属性名称和属性值匹配的对象句柄值

(17)gcf返回当前Figure对象的句柄值

gca返回当前axes对象的句柄值

gco返回当前鼠标单击的句柄值,该对象可以是除root对象外的任意图形对象,并且Matlab会把当前图形对象的句柄值存放在Figure的CurrentObject属性中

Figure对象的属性篇

(1).^是矩阵每个元素的幂乘,^是数的幂乘。

(2)set(handle)列出句柄值为handle的对象的所有属性

get(handle)除列出上述属性外,还列出可以设置的属性

reset(handle)将所有属性改为默认值

delete(handle)删除句柄值为handle的图形对象

(3)利用set(handle,…属性名称?)获得句柄值为handle的对象的属性名称下所有可设置的属性值

set(gcf,'units):得到[ inches | centimeters | normalized | points | {pixels} | characters ],其中,大括号中是默认值

(4)clf reset;将窗口关闭,并重新设置其属性为默认值。

(5)Closerequestfcn,有效值为字符串或函数句柄(前加@)

当关闭绘图窗口或离开Matlab时,就会定义Closerequestfcn定义的函数

(6)createfcn,当Matlab建立一个对象时(如为figure对象,即打开一个绘图窗口),就会触发createfcn 所定义的callback程序。如set(0,'defaultfigurecreatefcn','set(gcbo,''integerhandle'',''off'')');即设置了根对象的默认值,使每次建立figure对象时,都会指定一个非整数的句柄值。(在用户未指定句柄值时)

(7)将当前窗口中在键盘上按下的按键名显示出来。

set(gcf,'keypressfcn','get(gcf,''currentcharacter'')')

(8)color有效值为colorspec

colorspec表:

RGB 简称

[110] y_yellow

[101] m_magenta

[011] c_cyan

[100] r_red

[010] g_green

[001] b_blue

[111] w_white

[000] k_black

(9)linspace(a,b,c):a初始b结束c线性分段次数linspace(a,b)则默认100次

(10)CurrentObject:有效值为图形对象句柄值:返回绘图窗口内当前被鼠标选取的对象的句柄值(11)currentPoint:有效值[x-坐标,Y-坐标]返回绘图窗口中最后单击鼠标的位置,用

get(gcf,'currentpoint')就会返回当前在窗口中单击鼠标的位置

(12)DeleteFcn:有效值:字符串或函数句柄,删除对象(这里为figure)时会触发Deletefcn所定义的Callback程序。

(13)Dockcontrols:有效值为on/off,默认值on,控制窗口的嵌入效果是否可用。

(14)Hittest:有效值on/off,决定能否用鼠标选取对象为当前对象。

(15)Integerhandle:有效值on/off,决定Figure对象句柄值的类型为整数或浮点小数。

(16)Interruptible:有效值on/off,执行过程中需要中断程序而优先执行其他程序时要设该属性为on。即Interrupptible属性是用以控制当Callback执行时是否能被其他事件(如此时鼠标按下其他控制对象)

而中断,on是会中断,off时会执行完当前Callback,再去执行其他Callback。

(17)Keypressfcn:有效值为字串或函数句柄。当用户在figure窗口中按下键盘的任意键时,就会执行Keypressfcn所定义的Callback程序。

figure('keypressfcn','fprintf(''当前按下键盘上的%c键\n'',get(gcf,''currentcharacter''))')在这个figure窗口中按下键盘上的按键时就会立即返回对应的字符,依据这个效果就可以决定当字符键被按下时所要执行的操作。

当这个属性指定的值是一个函数句柄时,Matlab就会将这个函数视为一个结构,包含下列字段——character(以当前键盘上按下的按键显示的字符来当作结果),modifier(包含一个或多个识别键盘上按下按键字符名称的细胞数组(如Ctrl,Alt,Shift等),key(显示被按下的键)。

(18)WindowButtonDownFcn:有效值为字符串或函数句柄

当鼠标在绘图窗口内按下鼠标任意键时,将触发WindowButtonDownFcn所定义的Callback以产生相对应的操作。

(19)WindowButtonMotionFcn:有效值为字符串或函数句柄

当鼠标在绘图窗口内按住鼠标任意键移动,将触发WindowButtonMotionFcn所定义的Callback以产生相对应的操作。

(20)WindowButtonUpFcn:有效值为字符串或函数句柄

当鼠标在绘图窗口内释放鼠标任意键时,将触发WindowButtonUpFcn所定义的Callback以产生相对应的操作。

(21)CurrentAxes有效值为当前坐标轴的句柄值,返回当前的坐标轴句柄值。假设某坐标轴句柄值为a_h,可以使用axes(a_h)或set(gcf,'currentaxes',a_h)这两种方式,制定句柄值为a_h的坐标轴为当前坐标轴。

(22)CurrentCharacter:有效值为任意字符,返回用户在绘图窗口中最后输入的一个字符,即刚在键盘上按下的字符键将存储到Currentcharacter中,一般于Keyppressfcn合用。

(23)Currentobject有效值为图形对象的句柄值,返回绘图窗口内当前被鼠标选取的对象的句柄值。(24)有效值为两元素的向量,[X坐标,Y坐标]

返回绘图窗口中最后单击鼠标的位置,与Windowbuttonmotionfcn,Windowbuttonupfcn合用。使用get(gcf,'currentpoint')就会返回当前在窗口中单击鼠标的位置。

Axes对象的属性

(1)title('new','color','r');给坐标轴命名为new,红色

title({'this title','has 2 '});命名为两行的标题

(2)Units:有效值为pixels/normalized/inches/centimeters/points/characters

决定各种位置属性的度量单位,相对于窗口左下角为基准。当设置为Pixels时,以像素为单位;当设置为normalized时,以坐标为单位,屏幕的左下角为[0,0],右上角为[1.0,1.0]。

(3)grid on:在图像中显示网格。

(4)children:控制axes对象的子对象,即image\light\line\patch\rectangle\surface和text等对象,可通过get(gca,'children')来返回当前坐标轴的子对象构成的句柄值向量。

(5)字体属性:

Fontangle字体角度(正常normal或斜体italic/oblique)

Fontname字体名称

fontsize字体大小(单位由Fontunits决定)

fontunits字体单位(points/normalized/inches/centimeters/pixels)

fontweight字体粗细(normal/bold/light/demi)

gridlinestyle决定坐标轴网格线的样式,…-?为实线…- -?为虚线…:?为点线…-.?为点虚线

plot(1:10);grid on;set(gca,'gridlinestyle','-.');将当前坐标轴显示的网格线为点-虚线

(6)linewidth 定义X,Y和Z轴的轴线宽度(以点单位定义)

(7)NextPlot:有效值为add|replace|replacechildren,默认为replace

add表示使用当前的坐标轴,把新的图形对象加到此坐标轴中是一般保留的做法,replace表示重新设置坐标轴的所有属性(Position除外),也就是在绘图前会删除当前坐标轴和它的子对象。replacechildren 表示移除当前坐标轴中所有子对象,但不重新设置坐标轴的所有属性

(8)Outerposition决定坐标轴外边界的位置。由位置向量[left,bottom,width,height]组成,其中left,bottom表示相对于绘图窗口左下角的位置,width,height表示区域尺寸,默认为[0 0 1 1] (9)Position由位置向量[left,bottom,width,height]组成,决定坐标轴位置

(10)Tag定义本坐标轴的卷展栏,因为每一个对象都有自己唯一的识别码即tag,以方便findobj函数查找坐标轴句柄值。

(11)visible决定坐标轴是否可见

(12)set(gca,'xgrid','on')绘制X轴垂直网格线

set(gca,'gridlinestyle',':','linewidth',3)设置网格线线条类型和宽度

set(gca,'box','on')将图轴方框绘制出来

(13)set(gca,'xscale','linear');将X轴刻度设为线性

set(gca,'yscale','log');将Y轴刻度设为对数

(14)disp()显示一个数组,但不显示其数组名称

disp(' Corn Oats Hay')

disp(rand(5,3))

which results in

Corn Oats Hay

0.2113 0.8474 0.2749

0.0820 0.4524 0.8807

0.7599 0.8075 0.6538

0.0087 0.4832 0.4899

0.8096 0.6135 0.7741

Pause:pause, by itself, causes M-files to stop and wait for you to press any key before continuing.

实例:plot(1:10);set(gca,'yscale','log');

disp('请按下Enter键');

pause

set(gca,'Yscale','linear');本例是说按下Enter键将Y轴刻度由对数改为线性。

(16)Xtick,Ytick,Ztick:控制X,Y,Z轴坐标刻度记号的位置,即控制坐标轴上刻度记号的位置以及每隔多少值会到下一个刻度记号的位置,同时还需要配合Xticklabel、Yticklabel、Zticklabel属性来调整。详细见例程。

以下设置方式相同:

set(gca,'Xticklabel',{'1';'10';'100'})

set(gca,'Xticklabel','1|10|100')

set(gca,'Xticklabel',[1;10;100])

set(gca,'Xticklabel',['1 ';'10 ';'100'])

(17)Findobj:查找

Line对象

当用户建立一个线对象时,就会触发Createfcn所定义的Callback产生相对应的操作;同样,若删除一

个线对象时,就会触发DeleteFcn所定义的Callback产生相对应的操作。以下程序建立一个线对象,并设置DeleteFcn为一个问题对话框,当删除该线对象时,就会显示其问题对话框来询问用户。

(1) clipping:有效值为on/off,默认值为on

设置坐标轴土筐是否可以剪辑,如果设为off,则绘制线对象时可超出坐标轴的图框。

(2)Linewidth:有效值为纯量(与向量相对,只有大小而无方向),点为单位。

(3)Marker:有效值为字符,决定Line对象的记号类型,有+,o,*,.,x,s,d,等

(4)Markersize:有效值为纯量,单位为点,Marker的大小。

(5)UIcontextmenu:有效值为uicontextmenu对象的句柄值,定义与线对象相关联的uicontextmenu菜单,因此当用户将该线对象的属性UicontextMenu设置为相关联的uicontextmenu 对象的Tag名称时,uicontextmenu就可以在该线对象上单击鼠标右键来显示uicontextmenu菜单。(6)Tag:有效值为字符串,定义改线对象的卷展栏(即标记)

(7)Type:有效值为字符串(只读),此处为?line…字符串。

(8)Xdata,Ydata,Zdata:有效值为坐标数组,指定产生线条的数据点,若为2D环境则Xdata、Ydata 需要有相同数目的数据,而Zdata为空矩阵;3D环境则Xdata,Ydata,Zdata三者都需要有相同数目

的数据。

例:x=0:5,y=x+10;line('xdata',x,'ydata',y);

Patch对象

patch函数不想其他高级区域建立函数(fill和area),只是简单地将patch对象添加到当前坐标轴中而已。

使用:patch(X,Y,C)

在当前的坐标轴中添加二维填充的patch对象,X和Y用以定义patch对象顶点的位置,若X,Y为矩阵,则Matlab按每一行的元素来产生多个多边形。

例:x = [0 0;0 1;1 1];

y = [1 1;2 2;2 1];

z = [1 1;1 1;1 1];(x(1,1),y(1,1),z(1,1)为第一个面的第一个顶点,x(2,1),y(2,1),z(2,1)为第一个面的第二个顶点,以此类推)

tcolor(1,1,1:3) = [1 1 1];

tcolor(1,2,1:3) = [.7 .7 .7];

patch(x,y,z,tcolor);(tcolor是一个1*2*3的三维矩阵)

Surface对象

surface可以建立一个surface对象,surface是由矩阵数据所在的列索引值为X坐标,而行索引值为Y 坐标,并且矩阵的每个元素值为Z坐标。

image对象

image(C)将矩阵C当作一个图像来显示,C的每一个元素定义一个图像中矩阵线段的颜色。

image(x,y,C)其中x与y为2元素的向量,分别指定X轴与Y轴卷展轴的范围。C为图像矩阵。text对象

(1)text(x坐标,y坐标,'string')在图形中指定位置(x,y)显示字符串string。

(2)Editing有效值为on/off,off时,用户在执行GUI操作时无法直接在该Text对象上进行编辑,改为on后,可以进行编辑。

(3)HorizontalAlign 有效值为left/center/right决定Text对象中字符水平方向的对齐方式。

(4)Interpreter有效值为tex/none,决定Text对象中是否可用Tex字符注释,当设置为Tex时,表示允许用户能够在String属性下输入Tex字符。以下为在窗口的[.5 .5]点位置处建立一个text对象并且字体大小以16点来表示的一个方程式。(显示的是一个二重积分)

text('interpreter','latex','string','$$\int_0^x\!\int_y dF(u,v)$$','position',[.5 .5],'fontsize',16)

(5)String有效值为字符串,表示要显示出来的字符串是什么。

(6)verticalAlignme 有效值为top/cap/middle/baseline/bottom决定Text对象垂直对齐的方式。下面加载一个例子,是ilovematlab论坛一个斑竹的回复

x=0:0.5:10;

>> y1=sin(x);

>> y2=cos(x);

>> plot(x,y1,'r',x,y2,'g')

>> findobj(gca,'color','r')

不想要的曲线直接delete句柄就可以了

图像颜色RGB调整的MATLAB实现..

摘要 Matlab是当今最优秀的科技应用软件之一,它一强大的科学计算与可视化功能,简单易用,开放式可扩展环境,特别是所附带的30多种面向不同领域工具箱支持,使得它在许多科学领域中成为计算机辅助设计与分析,算法研究和应用开发的基本工具盒首选平台在图像处理中,Matlab也得到了广泛的应用,例如图像变换,设计FIR滤波器,图像增强,四叉树分解,边缘检测,小波分析等等。不同的颜色空间在描述图像的颜色时侧重点不同。如RGB(红、绿、蓝三原色)颜色空间适用于彩色监视器和彩色摄象机,HSI(色调、饱和度、亮度)更符合人描述和解释颜色的方式(或称为HSV,色调、饱和度、亮度),CMY(青、深红、黄)、CMYK(青、深红、黄、黑)主要针对彩色打印机、复印机等,YIQ(亮度、色差、色差)是用于NTSC规定的电视系统格式,YUV(亮度、色差、色差)是用于PAL规定的电视系统格式,YCbCr(亮度单一要素、蓝色与参考值的差值、红色与参考值的差值)在数字影像中广泛应用。 彩色图像的处理有时需要将图像数据在不同的颜色空间中表示,因此,图像的颜色空间之间的转换成为一项有意义的工作。其中RGB在颜色空间转换中其关键作用,是各个空间转换的桥梁。Matlab中的颜色空间转换只涉及到了RGB、HSV、YCbCr、YIQ等,没有包含lαβ和其它颜色空间的转换。 关键字:Matlab,图像处理,RGB

武汉理工大学本科生能力拓展训练任务书 学生姓名专业班级: 指导教师:工作单位:自动化学院 题目: 图像颜色RGB调整的MATLAB实现 初始条件: PC机,MATLAB 要求完成的主要任务: 对24bits彩色图像的颜色,使用RGB颜色模型,来对其进处理。 设计图形界面(GUI)程序,使用三个滑动条实现R,G,B各分量上下可调。调整范围在0到1之间,即:滑动条被拖动时,产生一个0到1之间的系数,乘以该分量的原始值,得到调整后的分量值。显示原始图像,和调整后的图像。同 时显示原始的R,G,B三分量的灰度图像。 任务安排: (1)设计任务及要求分析 (2)方案比较及论证说明 (3)系统原理阐述,写入设计方案及结构图 (4)软件设计说明:软件思想,流程图,源程序及注释 (5)调试记录及结果分析 (6)总结 (7)参考资料5篇以上 (8)附录:程序清单 时间安排: 6月25日安排设计任务 6月28日收集资料,方案选择 7月1日程序设计 7月5日-8日程序调试 7月8日- 撰写报告 9月7日交设计报告 指导教师签名:年月日 系主任签(或责任教师)签名:年月日

Matlab课设_图像的输入输出及格式转换

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:信息工程学院 题目:利用MATLAB仿真软件进行图像的输入、输出和格式变换 要求完成的主要任务: 读取、保存和显示不同格式的图像,并进行图像格式的相互变换如索引图像、灰度图像、RGB图像和二值图像的相互转换 课程设计的目的: 1.理论目的 课程设计的目的之一是为了巩固课堂理论学习,并能用所学理论知识正确分析信号处理的基本问题和解释信号处理的基本现象。 2.实践目的 课程设计的目的之二是通过设计具体的图像信号变换掌握图像和信号处理的方法和步骤。 课程设计的要求: 每个学生单独完成课程设计内容,并写出课程设计说明书、给出程序清单,最后通过课程设计答辩。 时间安排: 指导教师签名:年月日 系主任(或责任教师)签字:年月日

目录 摘要 ......................................................................................................................................... I Abstract ................................................................................................................................... II 1设计项目要求与说明 (1) 1.1设计项目要求 (1) 1.2Matlab简介及其在图像处理与分析的应用 (1) 1.2.1Matlab简介 (1) 1.2.2数字图像及其处理 (1) 1.2.3Matlab在图像处理与分析的应用 (3) 2软件流程分析 (6) 2.1图像的读取 (6) 2.2图像的显示 (6) 2.2.1以图像形式输出(图像的显示) (6) 2.2.2索引图像的显示 (7) 2.2.3灰度图像的显示 (7) 2.2.4二值图像的显示 (7) 2.2.5RGB图像的显示 (7) 2.2.6以图像文件的形式输出(图像文件形式之间的转换) (7) 2.3图像的保存 (8) 2.4图像类型的相互转换 (9) 2.4.1RGB图像→灰度图像 (9) 2.4.2RGB图像→索引图像 (9) 2.4.3RGB图像→二值图像 (9) 2.4.4索引图像→RGB图像 (9) 2.4.5索引图像→灰度图像 (10) 2.4.6灰度图像→索引图像 (10) 2.4.7灰度图像→二值图像 (10) 3调试分析 (11) 3.1图像读取 (11) 3.2图像显示 (12) 3.2.1索引图像显示 (12) 3.2.2灰度图像显示 (12) 3.2.3二值图像显示 (13) 3.2.4RGB图像显示 (13) 3.3图像类型的相互转换 (14)

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)

MATLAB仿真软件进行图像的输入、输出和格式变换

目录 摘要................................................................ I Abstract........................................................... II 1 图像文件格式及图像类型.. (1) 1.1 MATLAB支持的几种图像文件格式: (1) 1.2 matlab几种图像类型 (2) 2 图像的输入 (4) 3.图像的输入 (6) 3.1以图像形式输出(图像的显示) (6) 3.1.1索引图像的显示 (6) 3.1.2灰度图像的显示 (7) 3.1.3二值图像的显示 (8) 3.1.4 RGB图像的显示 (8) 3.2以图像文件的形式输出 (9) 4 图像的保存 (11) 5 图像类型转换 (13) 5.1 RGB转换成灰度图像 (13) 5.2 灰度图像转换为索引图像 (13) 5.3 灰度图像转化为二值图像 (14) 5.4 RGB图像转化为索引图像 (15) 6 课设总结 (16) 参考文献 (17) 附录 (18) 附录1:图像显示代码 (18) 附录2:图像转换代码 (19)

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB 本身就是功能强大的数据可视化工具,可以通过各种形式显示分析数据,例如灰度直方图、等高线、蒙太奇混合、像素分析、图层变换以及材质贴图等。利用可视化的图形,不仅能够评估图形图像的特性,还能够分析图像中的色彩分布等情况。 本次课程设计介就是Matlab环境下的一些最基本的图像处理操作,如读取、保存和显示不同格式的图像,并进行图像格式的相互变换如索引图像、灰度图像、RGB图像和二值图像的相互转换。 关键词:MATLAB ;图像处理;图像转换

基于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图像输出设置

核心方法:通过图像设置命令,直接指定图片的大小。 具体操作: (1) 完成画图及相关设置(字体大小、线宽、图例大小也是正常尺寸), (2) 此时WindowStyle is 'docked',要改为normal,有两种操作: 1)在Figure properties——more properties中找到 Windowstyle,然后用鼠标改为normal; 2)或者直接用命令: set (gcf,'windowstyle','normal') (3) 根据排版要求,确定图片的宽高,例如320*320 像素,然后使用命令 set (gcf,'Position',[500,300,320,320]) set(gcf,'Units','centimeters','Position',[100 100 98]); % figure的position中的[left bottom width height] 是指figure的可画图的部分的左下角的坐标以及宽度和高度。 (4) 使用copy figure将图片输出到Word 1.figure; 2.hold on; 3.set(gca, 'YTick', [0 : 0.2 : 1]); 4.box off; 5.set(gca, 'YTickLabel', {'matlab1', 'matlab2', 'matlab3',... 6. 'matlab4', 'matlab5', 'matlab6'}) 1.hold on 2.xL=xlim; 3.yL=ylim; 4.plot(xL,[yL(2),yL(2)],'k',[xL(2),xL(2)],[yL(1),yL(2)],'k') 5.box off 6.axis([xL yL])

MATLAB图像操作命令大全

MATLAB常用图像操作 一. 读写图像文件 1. imread imread函数用于读入各种图像文件,如:a=imread('e:\w01.tif') 注:计算机E盘上要有w01相应的.tif文件。 2. imwrite imwrite函数用于写入图像文件,如:imwrite(a,'e:\w02.tif',’tif’) 3. imfinfo imfinfo函数用于读取图像文件的有关信息,如:imfinfo('e:\w01.tif') 二. 图像的显示 1. image image函数是MATLAB提供的最原始的图像显示函数(主要彩色显示图象),如:a=[1,2,3,4;4,5,6,7;8,9,10,11,12]; image(a); 2. imshow imshow函数用于灰度图像文件的显示,如: i=imread('e:\w01.tif'); imshow(i); 3. colorbar colorbar函数用显示图像的颜色条。 通常,颜色映象进行过调节,把数据从最小扩展到最大,也就是说整个颜色映象都用于绘图。有时也许想改变颜色使用的方法。函数caxis代表颜色轴,因为颜

色增加了另一个维数,它允许对数据范围的一个子集使用整个颜色映象或者对数据的整个集合只使用当前颜色映象的一部分。 [cmin,cmax]=caxis返回映射到颜色映象中第一和最后输入项的最小和最大的数据。它们通常被设成数据的最小值和最大值。比如,函数mesh(peaks) 会画出函数peaks的网格图,并把颜色轴caxis设为[-6.5466,8.0752],即Z的最小值和最大值。这些值之间的数据点,使用从颜色映象中经插值得到的颜色。如:i=imread('e:\w01.tif'); imshow(i); colorbar; 4 .figure figure函数用于设定图像显示窗口,如:figure(1); /figure(2); 5.imagesc(a); caxis([-3 8]) ; colorbar; 标尺标度从-3,到8 显示标度尺。 三. 图像的变换 1. fft2 fft2函数用于数字图像的二维傅立叶变换,如: i=imread('e:\w01.tif'); j=fft2(i); 2. ifft2 ifft2函数用于数字图像的二维傅立叶反变换,如: i=imread('e:\w01.tif'); j=fft2(i);

matlab 中如何用scope保存图片

使用matlab中的simulink仿真事,经常用到scope示波器来显示波形,但是在观看波形时默认背景是黑色的,而且没有截图功能,当我们用其他工具截图时,打印时由于背景是黑色的导致波形看不出来,如果需要对scope中的图加上坐标、更改界面背景颜色等,没有菜单栏基本无从下手,可以通过下面几个步骤让你轻松设置scope 1.先运行模型,模型运行结束后,scope显示出图像以后,在matlab中运行 set(0,'ShowHiddenHandles','On') set(gcf,'menubar','figure' 这时你会发现scope图像中多了一行工具栏,点击insert-axes,鼠标会变成十字形状,然后再图像的任意一处双击左键出现一个对话框Property Editor,选中style在窗口的右便会出现color,这时你就可以任意修改背景颜色了。点击view里面的工具栏进行设置。还可以调整Scope 的其他图形属性,包括添加xlabel、ylabel、title,调整波形曲线的线型、粗细等等: 最后点击edit里面的copy figure ,粘贴到word就可以了 2如何设置背景颜色呢,

一般我们截图也是黑色,那就单击工具栏中的Edit,然后有copy options…. 弹出上图的对话框,在Figure background color 选第二个,然后在Edit中选copy figure 在到你想粘贴的地方按ctrl+V 出来的图背景就是白色,方便打印。 2.、一般的做法是将数据输出到工作空间,然后用画图指令Plot画图。 3.输出到工作空间的方法一般有这么几种: 4.1.添加To Workspace模块; 2.添加out模块; 3.直接用Scope输出。 5.直接用Scope输出的具体步骤为: 6.1) 首先添加一个clock时间控件,输出时间t到一个示波器里。修改该示波器参数,进入到data history,删除limit data,勾选save data to workspace,变量名t,格式array。 7.

matlab图像处理图像灰度变换直方图变换

附录1 课程实验报告格式 每个实验项目包括:1)设计思路,2)程序代码,3)实验结果,4)实验中出现的问题及解决方法。 实验一:直方图灰度变换 A:读入灰度图像‘debye1.tif’,采用交互式操作,用improfile绘制一条线段的灰度值。 imread('rice.tif'); imshow('rice.tif'),title('rice.tif'); improfile,title('主对角线上灰度值')

B:读入RGB图像‘flowers.tif’,显示所选线段上红、绿、蓝颜色分量的分布imread('flowers.tif'); imshow('flowers.tif'),title('flowers.tif'); improfile,title('主对角线红绿蓝分量') C:图像灰度变化 f=imread('rice.png'); imhist(f,256); %显示其直方图 g1=imadjust(f,[0 1],[1 0]); %灰度转换,实现明暗转换(负片图像) figure,imshow(g1)%将0.5到0.75的灰度级扩展到范围[0 1] g2=imadjust(f,[0.5 0.75],[0 1]); figure,imshow(g2) 图像灰度变换处理实例: g=imread('me.jpg'); imshow(g),title('原始图片'); h=log(1+double(g)); %对输入图像对数映射变换 h=mat2gray(h); %将矩阵h转换为灰度图片

h=im2uint8(h); %将灰度图转换为8位图 imshow(h),title('转换后的8位图'); 运行后的结果: 实验二:直方图变换 A:直方图显示 I=imread('cameraman.tif'); %读取图像 subplot(1,2,1),imshow(I) %输出图像 title('原始图像') %在原始图像中加标题 subplot(1,2,2),imhist(I) %输出原图直方图 title('原始图像直方图') %在原图直方图上加标题运行结果如下:

在MATLAB作图中输出漂亮的公式

在MATLAB作图中输出漂亮的公式 在我们撰写论文时,需要用到很多的图表,当图表中有许多复杂的公式时,觉得在MA TLAB中好像很难做出来,幸亏MA TLAB支持了一种排版系统,能够让你的需求得以实现。下面我们以Matlab R2015b为例来介绍这个系统。 它就是 终端软件,T E X就能够排版出精美的文本。 1. TeX符号语法 1.1 常见符号表 下面各表来源于新浪博客的文章,最早来源是维基中文百科(需翻墙才能访问)。更多内容参见这篇新浪博客文章和这个百度文库文档。 \acute{\eta}\check{\alpha} \grave{\eta}\breve{a}\ddot{y} \hat{\alpha}\tilde{\iota} \cos\theta\tan\theta \arccos\frac{T}{r}\arctan\frac{L}{T} \cosh h\tanh i \operatorname{argsh}k\operatorname{ch}h \operatorname{argch}l\operatorname{th}i\operatorname{argth}m \limsup S \min L\inf s \ln X \log X\log_\alpha X \gcd(T,U,V \hom x

微分 \partial x\mathrm{d}x \ddot y 集合 \exists\empty\emptyset\varnothing \ni\not\in\notin\subset \subseteq\supset\supseteq\cap\bigcap \bigcup\biguplus\sqsubset\sqsubseteq \sqsupseteq\sqcap\sqcup\bigsqcup 逻辑 \wedge\bigwedge \bar{q} \to p\lor\vee\bigvee \neg q\setminus\smallsetminus 根号 \sqrt{3}\sqrt[n]{3}

(完整word版)使用matlab绘制眼图.docx

使用 matlab 绘制数字基带信号的眼图实验 一、实验目的 1、掌握无码间干扰传输的基本条件和原理,掌握基带升余弦滚降系统的实现方法; 2、通过观察眼图来分析码间干扰对系统性能的影响,并观察在输入相同码率的NRZ 基带信号下,不同滤波器带宽对输出信号码间干扰大小的影响程度; 3、熟悉 MATLAB语言编程。 二、实验原理和电路说明 1、基带传输特性 基带系统的分析模型如图3-1 所示,要获得良好的基带传输系统,就应该 a n t nT s 基带传输a n h t nT s n n抽样判决 H ( ) 图 3-1基带系统的分析模型 抑制码间干扰。设输入的基带信号为a n t nT s, T s为基带信号的码元周期,则经过 n 基带传输系统后的输出码元为a n h t nT s。其中 n h(t )1H ()e j t d(3-1 ) 2 理论上要达到无码间干扰,依照奈奎斯特第一准则,基带传输系统在时域应满足: ,k 0 h( kT s)(3-2) 0,k为其他整数 频域应满足: T s, T s(3-3) H ( ) 0,其他

H ( ) T s T s T s 图 3-2 理想基带传输特性 此时频带利用率为 2Baud / Hz , 这是在抽样值无失真条件下,所能达到的最高频率利用率。 由于理想的低通滤波器不容易实现, 而且时域波形的拖尾衰减太慢, 因此在得不到严格 定时时,码间干扰就可能较大。在一般情况下,只要满足: 2 i H 2 2 , (3-4) H H ( ) H T s i T s T s T s T s 基带信号就可实现无码间干扰传输。这种滤波器克服了拖尾太慢的问题。 从实际的滤波器的实现来考虑,采用具有升余弦频谱特性 H ( ) 时是适宜的。 1 sin T s ( ) , (1 ) (1 ) 2 T s T s T s H ( ) 1, (1 ) 0 (3-5) T s 0, (1 ) T s 这里 称为滚降系数, 1。 所对应的其冲激响应为: sin t cos( t T s ) h(t ) T s (3-6) t 1 4 2t 2 T s 2 T s 此时频带利用率降为 2 / (1 ) Baud/ Hz ,这同样是在抽样值无失真条件下, 所能达到的最 高频率利用率。换言之,若输入码元速率 R s ' 1/ T s ,则该基带传输系统输出码元会产生码

matlab中的scope图形转到word中

Q;如何将matlab中的scope图形转到word中 至少三种方法 1、软件截图,这个就不多说了 2、使用Matlab命令,直接保存为图片 set(0,'ShowHiddenHandles','On') set(gca,'color','w') saveas(gcf,'mypic.jpg') 这样就在Matlab的当前路径下得到一个白色背景的jpg文件 3、使用跳出figure的菜单 set(0,'ShowHiddenHandles','On') set(gcf,'menubar','figure') 此时那个scope是不是多了一个菜单栏了,现在使用edit→copy figue就可以把图片复制到剪贴板中了 Simulink利用Scope输出及绘制仿真波形技巧(2008-09-28 21:45:23) 在用Simulink做仿真时,我们经常会用到示波器Scope来观察波形,它可以对波形进行局部放大、按横、纵座标放大,非常方便,但是如果我们要保存波形时,就最好别直接拷贝Scope波形了,因为它的背景是黑的,而且不能进行线形修改和标注,不适合作为文档用图。 一般的做法是将数据输出到工作空间,然后用画图指令Plot画图。输出到工作空间的方法一般有这么几种: 1.添加To Workspace模块; 2.添加out模块; 3.直接用Scope输出。 本人比较懒,一般不再添加其他输出模块,直接选用方法3。当然不是说放一个Scope就能数出数据的,需要对Scope进行设置。设置界面如下:

这里最好把Limit data points to last勾掉,因为很有可能你的数据会超过5000个。勾选Save data to Workspace,变量类型可以选结构体,结构体带时间,以及向量(后面我们会分别介绍这几种变量类型的画图方法)。 运行Simulink,输出完数据,你就可以利用Matlab的画图工具随心所欲的画图了。 下面以一个例子分别介绍三种变量类型的画图方法。 1.输出类型为向量形式。从图上看到,输出了两维时间序列,而实际输出到工作空间的变量ScopeData为三维序列,其中第一列为时间,这正好为我们画图提供了方便。我们可以采用画图命令如下: figure; plot(ScopeData(:,1),ScopeData(:,2),'LineWidth',1.5); hold on; plot(ScopeData(:,1),ScopeData(:,3),'r:','LineWidth',1.5); legend('正弦波','锯齿波'); hold off; 当然你还可以采用其他绘图方式,如采用Subplot方式。 2.输出类型为Structure with Time。即结构体带时间。我们可以看一下这个结构体包含哪些东西。在Command Window里直接输入变量名。 ScopeData = time: [51x1 double] signals: [1x1 struct] blockName: 'untitled/Scope' 可见,该结构体包含了时间序列,信号结构体,以及我的框图名。实际上我们的输出信号都包含在signals这个结构体里了,我们接着可以再看看signals结构体的组成部分。我们输入ScopeData.signals(这点与C语言是类似的)。 ans = values: [51x2 double]

基于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自编myfigure函数-快速输出figure图形曲线数据(原创)

Matlab自编myfigure函数,快速输出figure图形曲线数据 L X 我们知道Matlab作图功能非常强大,但遗憾的是,Matlab在图形处理方面也有两个很大的不足,其一,Matlab保存的Figure图形,不能像origin图形一样,携带数据并可以在word/ppt/excel里面重新编辑;其二,Matlab没有提供快捷方式使我们能快速地从Figure图形中获取某特定曲线的数据,复制或保存,尽管在一般情况下,我们在WorkSpace中有变量,但是也显得很不方便。对于第一个不足,由于Matlab的固有属性,我们无法解决,第二个不足,我们可以自编函数解决。以下,本人新编了一个Figure函数,此函数可对已建立的Figure图形,添加两项一级菜单“输出数据”和“坐标范围”并在一级菜单下各有几项二级菜单,其功能为,1. 对Figure图形中的数据进行输出和保存输出的数据类型可以为xls、txt, 或者将数据重新返回到工作空间;2. 无须打开figure属性,即可快速对figure图形的坐标范围进行设置。 使用方法:将后面蓝色代码全部复制到m文件,并保存为“myfigure”,至于当前路径下。倾情奉献,如果觉得有参考或使用价值,请下载和评分哦~ 示例: x=linspace(0,2*pi,100); y1=sin(x);y2=cos(x); figure,plot(x,y1,'r.-',x,y2,'b*') xlabel('x'),ylabel('y') myfigure %运行本段代码,将得到图1 图1 运行myfigure对已建的Figure添加功能菜单,见图中绿色椭圆部分

Matlab中的图怎么插入Word效果最好

Matlab中的图怎样插入Word效果最好 这两天在用Word写论文,还是觉得LaTex好用。这个插图的问题折腾了好久,结合微博上大牛的指导,终于有一个比较完美的解决方案。最后插入Word的图生成PDF看起来是这个样子的: 这是一个效果比较好的矢量图。下面简单总结一下怎么能在Word和PDF中都看到类似这样的效果。如果直接在Matlab的绘图窗口上点Edit——Copy Figure,到Word是这样的效果:

似乎效果也还可以,但是这样的图有一个很大的问题,就是生成PDF以后坐标轴的刻度线总是有小的弯曲,一直以来我都不能理解为什么会出现这样的问题:

这个问题真的让人很无语。我们知道一般来说通用的矢量图是eps,但是Matlab直接生成eps后拷贝到Word里是这样的效果:

这种在Word中的锯齿形状,让人看起来心情很不好。虽然最后生成PDF后很清楚,但撰写文档的时候很难看。所以不建议直接插eps。Matlab也支持生成其他Windows 系统中的图片格式,如果我们选择导出成emf(在Matlab画图窗口中点File——Export Setup,可以对输出文件的清晰度,如300或600dpi,等参数进行设置,可以选择导出emf),插入Word中会很清晰,但生成的PDF也有个小问题:坐标轴会多一个小突起出来:

关于这个问题我也是百思不得其解。最终方案是:先用Matlab导出eps,再用CorelDRAW打开eps,将eps文件再导出成emf文件,就可以得到第一个图中最完美的解决方案。 综上所述,如果选择直接拷贝图片,生成的PDF坐标轴会弯曲(这个绝对不是个案,几年前些论文的时候就碰到了,真是个郁闷的情况);如果选择eps,在Word中会很难看;如果选择emf,生成的坐标轴也会有小问题。最终解决方案是先生成eps,再用CorelDRAW导出成emf,这是目前看起来相对最好的办法了。对于Visio等其他Office系列的软件,直接选择导出成emf就可以。这个方法也适用于PPT等文件,算是对Office系列一个比较完美的解决方案了。

(完整版)数字图像处理MATLAB程序【完整版】

第一部分数字图像处理

实验一图像的点运算 实验1.1 直方图 一.实验目的 1.熟悉matlab图像处理工具箱及直方图函数的使用; 2.理解和掌握直方图原理和方法; 二.实验设备 1.PC机一台; 2.软件matlab。 三.程序设计 在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。 I=imread('cameraman.tif');%读取图像 subplot(1,2,1),imshow(I) %输出图像 title('原始图像') %在原始图像中加标题 subplot(1,2,2),imhist(I) %输出原图直方图 title('原始图像直方图') %在原图直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像; 3.浏览源程序并理解含义; 4.运行,观察显示结果; 5.结束运行,退出; 五.实验结果 观察图像matlab环境下的直方图分布。 (a)原始图像 (b)原始图像直方图 六.实验报告要求 1、给出实验原理过程及实现代码; 2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。

实验1.2 灰度均衡 一.实验目的 1.熟悉matlab图像处理工具箱中灰度均衡函数的使用; 2.理解和掌握灰度均衡原理和实现方法; 二.实验设备 1.PC机一台; 2.软件matlab; 三.程序设计 在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。 I=imread('cameraman.tif');%读取图像 subplot(2,2,1),imshow(I) %输出图像 title('原始图像') %在原始图像中加标题 subplot(2,2,3),imhist(I) %输出原图直方图 title('原始图像直方图') %在原图直方图上加标题 a=histeq(I,256); %直方图均衡化,灰度级为256 subplot(2,2,2),imshow(a) %输出均衡化后图像 title('均衡化后图像') %在均衡化后图像中加标题 subplot(2,2,4),imhist(a) %输出均衡化后直方图 title('均衡化后图像直方图') %在均衡化后直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的灰度均衡函数,设置参数;最后输出处理后的图像; 3.浏览源程序并理解含义; 4.运行,观察显示结果; 5.结束运行,退出; 五.实验结果 观察matlab环境下图像灰度均衡结果及直方图分布。 (a)原始图像 (b)均衡化后图像

Matlab中如何读出写入图像文件以及对图像的简单处理

Matlab中如何读出写入图像文件以及对图像的简单处理imMatrix = imread('name.jpg')%jpg也可以bmp,你的图片格式MATLAB图像处理工具箱支持四种基本图像类型:索引图像、灰度图像、二进制图像和RGB图像。MATLAB直接从图像文件中读取的图像为RGB图像。它存储在三维数组中。这个三维数组有三个面,依次对应于红(Red)、绿(Green)、蓝(Blue)三种颜色,而面中的数据则分别是这三种颜色的强度值,面中的元素对应于图像中的像素点。设所得矩阵为X三维矩阵(256,256,3) ,X(:,:,1)代表红颜色的2维矩阵X(:,:,2)代表绿颜色的2维矩阵, X(:,:,3)代表兰颜色的2维矩阵。[X, map]=imread('34.bmp');r=double(X(:,:,1)); %r是256 x 256的红色信息矩阵 g=double(X(:,:,2)); %g是256 x 256的绿色信息矩阵b=double(X(:,:,3)); %b是256 x 256 的兰色信息矩阵 索引图像数据包括图像矩阵X与颜色图数组map,其中颜色图map是按图像中颜色值进行排序后的数组。对于每个像素,图像矩阵X包含一个值,这个值就是颜色图数组map中的索引。颜色图map为m×3双精度矩阵,各行分别指定红、绿、蓝(R、G、B)单色值,map=[RGB],R、G、B为值域为[0,1]的实数值,m为索引图像包含的像素个数。 对于相同的数据,采用uint8格式比双精度格式节省内存空间,从而更经济。在MATLAB中 如果索引图像的颜色图小于256行,则它的图像矩阵以uint8格式存储,否则以双精度格式存储。 一:imread:从图像文件夹中读取图像。 A = imread(FILENAME,FMT) 读取图像到A,如果文件是包含一灰度图像,A是一二维矩阵,如果文件是包含一真彩色图像(RGB),A是一三维矩阵(M-by-N-by-3)。FILENAME :图像文件名;FMT:图像文件格式; 文件必须在当前目录下,或在Matlab的一路径上。如果imread不能够找到一名称为FILENAME的文件,那么它将找一名为FILENAME.FMT的文件 [X,MAP] = imread(FILENAME,FMT) 把图像FILENAME读入与它相关的图像色彩信息写 入MAP,图像色彩信息值在范围[0,1]中自动地重新调整. [...] = imread(FILENAME)这种方式是试图得到文件的格式从文件所包含的信息。[...] = imread(URL,...)从一Internet URL上读图像URL 必须包含协议(即:"http://"). 1.2数据类型: TIFF的特殊语法: [...] = imread(...,IDX) 从很多图像TIFF文件中读一个图像;IDX是一个整数值,它显示了所读图像在文件中的顺序,例如:如果IDX是3, imread将读文件中的第三个图像。如果省略了这个变量, imread将读文件中的第一个图像. IMREAD支持的图像文件格式:JPEG TIFF GIF BMP PNG HDF PCX XWD ICO CUR RAS PBM PGM PPM 相关信息也可在Matlab中查看:imfinfo, imwrite, imformats, fread, 二:imwrite输出图像 imwrite(A,FILENAME,FMT) 把图像A 写入图像文件FILENAME. imwrite(X,MAP,FILENAME,FMT) 把X和它的相关色彩信息MAP写入FILENAME. imwrite(...,FILENAME) 把图像写入图像文件FILENAME,并推测可能的格式用来做filename的扩展名。扩展名必须是FMT中一合法名. imwrite(...,PARAM1,VAL1,PARAM2,VAL2,...) 不同的参数控制输出文件的各种不同特征。参数要是当前所支持的HDF,JPEG, TIFF, PNG, PBM, PGM, 和PPM 文件

Matlab图形图像属性

表20.3 根对象属性 BlackAndWhite on: {off}:自动硬件检测标志 认为显示是单色的,不检测;检测显示类型 *VlaxkOutUnusedSlots 值为[{no}|yes] *CaptureMap CaptureMatrix 由CaptureRect矩形所包围的区域内图象数据的只读 矩阵,使用image来显示 CaptureRect 捕捉矩形的尺寸和位置,是一个4元素的向量 [left,bottom,width,height],单位由Units属性指定。*CaseSen 值为[{on}|off] CurrentFigure 当前图形的句柄。 Diary on: {off}:会话记录 将所有的键盘输入和大部分输出拷贝到文件中不将输入和输出存入文件 DiaryFile 一个包含diary文件名的字符串,缺省的文件名为 diary Echo on: {off}:脚本响应模式 在文件执行时,显示脚本文件的每一行除非指定echo on,否则不响应 Format {short}: shortE: long: longE: hex: bank: +: rat:数字显示的格式 5位的定点格式 5位的浮点格式 15位换算过的定点格式15位的浮点格式 16进制格式 美元和分的定点格式 显示+和-符号 用整数比率逼近 FormatSpacing {loose}: compact:输出间隔 显示附加行的输入取消附加行的输入 *HideUndocumented no: {yes}:控制非文件式属性的显示显示非文件式属性 不显示非文件式属性 PointerLocation 相对于屏幕左下角指针位置的只读向量[left,bottom] 或[X,Y],单位由Units属性指定 PointerWindow 含有鼠标指针的图形句柄,如果不在图形窗口内,值 为0。 ScreenDepth 整数,指定以比特为单位的屏幕颜色深度,比如:1 代表单色,8代表256色或灰度 ScreenSize 位置向量[left,bottom,width,height],其中[left,bottom]

相关文档