matlab图像输出设置

合集下载

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

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)3.3.1RGB图像→灰度图像 (14)3.3.2RGB图像→索引图像 (14)3.3.3RGB图像→二值图像 (15)3.3.4索引图像→灰度图像 (15)3.3.5灰度图像→索引图像 (16)3.3.6灰度图像→二值图像 (16)4附录(程序清单及使用图像) (17)4.1图像的读取 (17)4.2图像的显示 (17)4.2.1索引图像显示 (17)4.2.2灰度图像显示 (17)4.2.3二值图像显示 (17)4.2.4RGB图像显示 (17)4.3以图像文件的形式输出(图像文件形式之间的转换) (18)4.4图像类型的相互转换 (18)4.4.1RGB图像→灰度图像 (18)4.4.2RGB图像→索引图像 (18)4.4.3RGB图像→二值图像 (18)4.4.4索引图像→灰度图像 (18)4.4.5灰度图像→索引图像 (19)4.4.6灰度图像→二值图像 (19)4.5原图像 (19)5课程设计总结 (22)6参考资料 (23)摘要MATLAB语言是由美国MathWorks公司推出的计算机软件,经过多年的逐步发展与不断完善,现已成为国际公认的最优秀的科学计算与数学应用软件之一,是近几年来在国内外广泛流行的一种可视化科学计算软件。

matlab图像输出设置

matlab图像输出设置
2.h = findobj:
返回根对象的句柄和所有子对象
3.h = findobj('PropertyName',PropertyValue,...)
返回所有属性名为‘PropertyName’,属性值为'PropertyValue'的图形对象的句柄。可以指定多个属性/值对。
4.h = findobj('PropertyName',PropertyValue,'-logicaloperator', PropertyName',PropertyValue,...)
$<name>引用名叫name的被捕获字符串
(?(name) s1 | s2)我想您应该知道是什么意思
nargin是用来判断输入变量个数的函数,这样就可以针对不同的情况执行不同的功能。通常可以用他来设定一些默认值,如下面的函数。
例子,函数test1的功能是输出a和b的和。如果只输入一个变量,则认为另一个变量为0,如果两个变量都没有输入,则默认两者均为0。
findobj
findobj:特殊属性的图形对象
语法:
1.findobj:
findobj返回根对象的句柄和所有子对象(findobj returns handles of the root object and all its descendants without assigning the result to a variable.)
பைடு நூலகம்例子:
在当前坐标下查找所有直线对象:
h = findobj(gca,'Type','line') %gca为当前坐标的句柄
查找Label属性设为'foo'和String设为'bar'的所有对象:

matlab中仿真的scope图像的设置

matlab中仿真的scope图像的设置

如何设置显示matlab中的scope 图像1、我们使用Matlab绘制出数据的各种图形需要保存的时候,不少同学是直接用屏幕截图的办法来做的,但这样出来的图并不清晰,不便于后续应用和处理,并且往往不符合发表论文的要求,很多论文是要求用.eps 格式的图片的。

实际上,我们可以有下面两种更好的处理方法:(1)在论文里插入图片在Matlab的Figure窗口,点击菜单栏的Edit,选择Copy Figure,然后转到你的文档界面,把光标放到需要插入图片的位置,然后Ctrl+C,你就可以得到比较清晰的图片了。

需要注意的是,这时候的图片有相当一部分空白区域,你可以用word图片工具栏的‘裁剪’功能把图片空白区域消除掉。

另外,如果需要对图片的大小进行拉伸,最好不要直接用鼠标拖拉,这样容易导致图中的点线分布变形,可以右键点击图片,选择‘设置图片格式’,在‘大小’标签的‘缩放’栏里,设置图片的大小。

(2)直接保存Figure为了便于后续处理和应用,建议大家形成一个良好习惯,即把绘制所得的Figure窗口直接保存为.fig文件,以后你就可以多次打开它,对图像进行修改处理,例如加注标签(label)等,也可以打开.fig文件把所显示的图像转存为其它格式的文件,例如.eps、.jpg等。

2、在做Simulink仿真时,使用的Scope波形显示模块实际上也是一种Figure窗口,不过Matlab把Scope的菜单栏隐藏起来,只提供了几个有限的参数设置。

如果需要对Scope中的图加上坐标、更改界面背景色等,没有菜单栏就基本上无从下手了。

可以在打开你的mdl文件之后,在Matlab的命令行输入以下指令来恢复显示Scope的Figure 菜单栏:>> set(0,'ShowHiddenHandles','on');>> set(gcf,'menubar','figure');这样Scope窗口就如下所示:然后点击菜单栏的Edit ,可以选择Copy Figure 来保持波形图,也可以选择Figure Properties 来调整Scope 的各种图形属性,包括添加xlabel、ylabel、title,更改背景颜色,调整波形曲线的线型、粗细等等:P.S.:除了上面说的那两行指令外,在网上还找到一段相似的程序,不过我使用时Matlab提示第4行代码出现Error,不知是何原因,也贴在这里大家分析下吧,呵呵。

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 9 8]);% figure的position中的[left bottom width height] 是指figure的可画图的部分的左下角的坐标以及宽度和高度。

(4) 使用copy figure将图片输出到Word1.f igure;2.h old on;3.s et(gca, 'YTick', [0 : 0.2 : 1]);4.b ox off;5.s et(gca, 'YTickLabel', {'matlab1', 'matlab2', 'matlab3',...6. 'matlab4', 'matlab5','matlab6'})1.h old on2.x L=xlim;3.y L=ylim;4.p lot(xL,[yL(2),yL(2)],'k',[xL(2),x L(2)],[yL(1),yL(2)],'k')5.b ox off6.a xis([xL yL])1.t=linspace(0,8,100);%%% linspace(X1, X2) generates a row vector of 100 linearly equally spaced points between X1 and X2.linspace(X1, X2, N) generates N points between X1 and X2.2.a1=axes;1.f igure2.a2=axes('Position',p+[0,p(4)/2,0,-p(4)/2]); % 确定坐标位置,p为上述3.x lim(xL); %定义x轴坐标4.b ox off;5.s et(gca,'XTick',xt,'Color','None','YTick',[]);简单点儿说吧:xtick是刻度(小竖线);xticklabel 刻度值(竖线下面的数值)。

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

(完整版)数字图像处理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); %直方图均衡化,灰度级为256subplot(2,2,2),imshow(a) %输出均衡化后图像title('均衡化后图像') %在均衡化后图像中加标题subplot(2,2,4),imhist(a) %输出均衡化后直方图title('均衡化后图像直方图') %在均衡化后直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。

matlab图形操作

matlab图形操作

matlab图形操作本⽂对matlab中利⽤图形句柄对图⽚属性进⾏设置的操作进⾏简单的总结说明:(1)对图窗和坐标轴属性进⾏整体设置可以通过gcf和gca语句获取当前图窗句柄和坐标轴句柄,通过该句柄可以对图窗和坐标轴的各项属性进⾏操作。

图窗和坐标轴分别包含如下属性:% 图窗属性... ...Children: [1×1 Axes] Color: [0.9400 0.9400 0.9400]Colormap: [256×3 double] CurrentAxes: [1×1 Axes]... ...InnerPosition: [680 558 560 420] PaperUnits: 'centimeters'OuterPosition: [672 550 576 514] Position: [680 558 560 420]Units: 'pixels'% 坐标轴属性... ...Box: 'on' BoxStyle: 'back'Children: [1×1 Line] Color: [1 1 1]FontAngle: 'normal' FontName: 'Helvetica'FontSize: 10 FontSizeMode: 'auto'FontSmoothing: 'on' FontUnits: 'points'FontWeight: 'normal' GridColor: [0.1500 0.1500 0.1500]GridLineStyle: '-' Legend: [0×0 GraphicsPlaceholder]LineWidth: 0.5000 OuterPosition: [0 0 1 1]Parent: [1×1 Figure] Position: [0.1300 0.1100 0.7750 0.8150]Title: [1×1 Text] TitleFontWeight: 'normal'Units: 'normalized' UserData: []View: [0 90] Visible: 'on'... ...XAxis: [1×1 NumericRuler] XAxisLocation: 'bottom'XColor: [0.1500 0.1500 0.1500] XColorMode: 'auto'XDir: 'normal' XGrid: 'off'XLabel: [1×1 Text] XLim: [0 100]XScale: 'linear' XTick: [0 10 20 30 40 50 60 70 80 90 100]XTickLabel: {11×1 cell} XTickLabelRotation: 0YAxis: [1×1 NumericRuler] YColor: [0.1500 0.1500 0.1500]YGrid: 'off' YLabel: [1×1 Text]YLim: [0 100] YScale: 'linear'YTick: [0 10 20 30 40 50 60 70 80 90 100] YTickLabel: {11×1 cell}YTickLabelRotation: 0 ZLabel: [1×1 Text]ZLim: [-1 1] ZScale: 'linear'ZTick: [-1 0 1] ZTickLabel: ''ZTickLabelRotation: 0... ...上⾯仅仅是展⽰了图窗和坐标轴部分重要且常⽤的属性,它们的全部属性可通过查matlab的帮助⽂档或直接在matlab的命令⾏上输⼊gcf、gca或通过如下图所⽰的属性窗⼝进⾏查询和设置。

【matlab】 输出图像大小调整

【matlab】 输出图像大小调整

Matlab图形窗口大小的控制,plot窗口大小,figure大小,axis设置,实用Matlab中保存图像时,图形窗口大小的控制zz首先要了解的是Matlab是面向对象的。

最高等级的对象是screen,它定义了figure可以用的最大szie。

screen下面是figure。

figue就是你画图的时候跳出来的那个新的对话窗口。

如果figure变化,screen是不会跟着变化的。

但screen变化的话,figure就要跟着变化了。

figure下面是axes。

axes是那个窗口里面你要画的东西。

axes的大小和位置取决于figure,如果你放大缩小figure的大小的话,里面的图线也会跟着变化的。

set(gca,'position',[])因此,set (gca,'position',[0.1,0.1,0.9,0.9] );的作用是:设置坐标轴距离画板(图形窗口figure)边距。

[0.1,0.1,0.9,0.9] 分别为axes在figure中的左边界,下边界,宽度,高度,最小为0,最大为1(左边界,下边界为0,上边界,右边界为1)见下面的例子:-----------------------------------------------------------------------------figureset (gca,'position',[0.1,0.1,0.9,0.9] );x=1:0.1:10;y=sin(x);plot(x,y)-----------------------------------------------------------------------------结果见下图:set(gcf,'position',[])一般matlab绘出来图的框架(图形窗口)大都是正方形或者近似正方形的矩形,能不能画一些扁的矩形呢?使用图形的position属性可以做到。

matlab曲线点输出方法

matlab曲线点输出方法

matlab曲线点输出方法Matlab是一款广泛应用于数值计算和图形处理的软件工具,它提供了丰富的函数库和接口,方便用户进行各种数据分析和可视化操作。

在Matlab中,曲线图是一种常用的可视化方式,它可以清晰地展示数据的趋势和变化。

为了更好地理解和使用Matlab曲线图,本文将介绍一种曲线点输出的方法,以帮助用户更直观地查看曲线的细节和异常值。

在Matlab中,可以使用plot函数绘制曲线。

该函数可以根据给定的数据点,绘制出一条光滑的曲线。

常用的plot函数参数包括:* x:表示横坐标的数据向量;* y:表示纵坐标的数据向量;* 颜色:可选参数,用于设置曲线的颜色;* 标记:可选参数,用于在曲线上添加标记;* 类型:可选参数,用于设置曲线的类型(如线型、线宽等)。

通过这些参数的设置,用户可以方便地绘制出各种类型的曲线图。

二、曲线点输出方法为了更详细地查看曲线的细节和异常值,可以使用一些额外的函数和方法来实现曲线点的输出。

具体步骤如下:1. 使用scatter函数绘制散点图,该函数可以根据给定的数据点,绘制出散点图。

在散点图中,每个数据点都用一个点表示,用户可以通过调整点的颜色、大小和形状等参数,来更好地识别数据点的特征。

2. 使用grid on语句在散点图上添加网格线,以便更清晰地观察曲线的趋势和变化。

3. 使用xlabel和ylabel函数为散点图添加横纵坐标标签,以便更好地识别数据点的位置。

4. 使用title函数为散点图添加标题,以便更好地概括数据的特点和趋势。

5. 使用legend函数为散点图添加图例,以便更好地识别不同数据点的类型和特征。

通过以上步骤,用户可以方便地输出曲线的详细信息,包括异常值和趋势变化等。

这些信息对于进一步的数据分析和建模具有重要的参考价值。

三、示例代码下面是一个简单的示例代码,演示了如何使用Matlab输出曲线点:```matlab% 生成示例数据x = [1 2 3 4 5];y = [2 3 4 5 6];% 绘制散点图并添加图例和标题scatter(x, y, 'filled', 'r', 'MarkerSize', 10);hold on; % 保持当前图像打开,以便添加其他图形元素grid on; % 添加网格线xlabel('X轴'); % X轴标签ylabel('Y轴'); % Y轴标签title('示例曲线'); % 图像标题legend('数据点', '拟合曲线'); % 图例显示数据点和拟合曲线```以上代码生成了一个简单的散点图,并使用scatter函数绘制了数据点。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

具体操作:(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 9 8]);% figure的position中的[left bottom width height] 是指figure的可画图的部分的左下角的坐标以及宽度和高度。

(4) 使用copy figure将图片输出到Word1.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 on2.xL=xlim;3.yL=ylim;4.plot(xL,[yL(2),yL(2)],'k',[xL(2),xL(2)],[yL(1),yL(2)],'k')5.box off6.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 specifiedlocation and 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.figure2.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了。

希望对你有用!findobjfindobj:特殊属性的图形对象语法: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()。

相关文档
最新文档