大致思路:matlab中生成矢量格式文件-导入Visio中-编辑-导出合适格式-在其他软件中使用

准备工具

Matlab 2014b或更高版本

Visio 2007或更高版本

我查看过,Matlab能够输出的矢量化文件大概有*.svg、*.eps、*.pdf三种,但是这三种中,Visio能够打开的只有*.svg。之所以选择Visio,是因为画示意图来说,Visio基本算得上是比较好的选择了。

技术基础

简单的Matlab编程能力(目测你一天就能学会的Matlab知识,差不多就够用)

理论基础

理论基础就直接参看周建锋老师的博文好了:http://blog.sciencenet.cn/blog-3854-760545.html

绘制图像

下面以一个简单的图像示例来表示:

clc;clear ;close all

x = 0 : 0.05 : 10;

y1 = sin(x);

y2 = cos(x);

plot(x, y1, 'LineWidth',2)

hold on

plot(x, y2, 'LineWidth', 2)

legend('Line1','Line2','Location','best') % 加图例,并将之放在最好的Location

axis auto

set(gca,'FontSize',14,'LineWidth', 1,'FontName', 'Times New Roman')

set(gcf,'Position',[400 100 800 600]);

if ~exist('./example.svg','file') % 判断文件是否存在

saveas(gcf,'./example.svg')

end

得到的图像大致如下:

检查matlab当前的工作路径下,已经有了一个example.svg的文件。将这个文件在Visio中打开。

更简单一点的打开方式是:新建Visio文件,直接讲example.svg拖入Visio中。

我们知道,*.svg是网络通用的矢量图形格式,很多软件中都能直接打开的,最明显的软件当然是各种浏览器了,比如IE。

在上面的代码中,exist('./example.svg','file')是判断matlab的当前目录下文件example.svg是否存在,如果存在就不再生成example.svg 了,避免多次重复生成。但是如果你的图形需要更新,记得删除之前生成的版本。

在Matlab中,另外一种生成*.svg格式的方式是直接在图形窗口->file->save as...->save as type栏选择svg格式即可保存为*.svg格式的文件。当然,你需要自己命名一个文件名。

Visio中打开

在Visio中打开之后,我们大致会得到这样的图形,可以看到,很清晰,矢量化的。

同时,也很明显,它是高度组合化的。

所以,我们需要将之解组合。

接下来按照步骤:

1. 选择图形(点击图形or按ctrl+A也行)

2. 点击home下的group

3. 点击解组合(ungroup)

4. 再次重复动作2和3,两次。也就是说说总共需要解组合三次。

下面两张图作为指引。

group功能

解组合功能

在Visio中的后处理

图形在Visio中打开之后便可以生成为其他的图形格式或者直接将visio文件插入word中即可。

删除白色底纹

解组合之后,图形下层会有一些白色底矩形,可以将之删除,使图形透明。如下图所示,左下角和右上角的两块矩形分别是原来图形的曲线画布区域和整个图形画布区域的底纹图形填充方块。

查看图形元素

当我们选择自由曲线工具之后,在点击图形中的Line2曲线,可以看到,实际上Line2曲线是由自由曲线通过控制很多的节点来实现cos函数图形的绘制的。这也可以让我们反向思考matlab底层的绘制函数时怎么实现曲线的绘制的。

修改元素

在Visio中,我们可以选择任何的元素来进行修改,也可以在上面增加或删除任何的元素。这给我们修饰图形方面有了巨大的空间(当然不能进行数据修改以此来发文章)。

matlab图片矢量化,matlab图形矢量化解决方案相关推荐

  1. java实现gdal栅格矢量化_gdal栅格矢量化 - osc_lfs4vsih的个人空间 - OSCHINA - 中文开源技术交流社区...

    #include "gdal_alg.h" 栅格矢量化功能用于将栅格数据生成矢量数据,通常用于分类图像.GDAL库中使用函数GDALPolygonize()或者函数GDALFPol ...

  2. matlab 矢量化,matlab矢量化编程简要

    一.基本技术 1)MATLAB索引或引用(MATLAB Indexing or Referencing) 在MATLAB中有三种基本方法可以选取一个矩阵的子阵.它们分别是下标法,线性法和逻辑法(sub ...

  3. 【Logo】无奈的又做一回美工:图片矢量化+logo上传+联动显示

    前言 又是被要求改需求的一天,原本logo时一张图片,而且有百边确实比较丑爆了,然后我就改了改,成了下面的模样.这个power by的logo乍一看还是不错的哈 图片上传与存储 为了有一张贴合背景的图 ...

  4. python数据统计 矢量图_用python中的矢量化解决方案计算max draw down

    Maximum Drawdown是量化金融中常用的一种风险度量,用于评估所经历的最大负收益. 最近,我变得不耐烦的时间来计算最大下降使用我的循环方法.def max_dd_loop(returns): ...

  5. matlab图片连续显示,Matlab利用定时器连续显示图片的问题

    是不是因为我用的版本太低呢 我用的是2007版的. % 开始播放按钮 function start_Callback(hObject, eventdata, handles) global filen ...

  6. MapGIS基本操作实例(坐标配准、矢量化、统计属性、缓冲分析、属性连接等)

    目录 题目1 (1)打开题目1下的测试地类图斑 (2)查看相关属性 (3)创建要素 (4)创建题目1的数据库: 题目2 (1)坐标配准 (2)矢量化 题目3 (1)属性连接 (2)拓扑改错 (3)输出 ...

  7. Python之数据分析(案例:净额成交量、矢量化、数据曲线平滑)

    文章目录 一.净额成交量 二.标量函数矢量化 三.数据曲线平滑 一.净额成交量 1.案例分析 符号数组a: [10 -20 30 40 -50] 用法:numpy.sign(a) 结果是[1 -1 1 ...

  8. 【opencv 450 core】使用统一向量指令(Universal Intrinsics)对代码进行矢量化

    Vectorizing your code using Universal Intrinsics 使用 Universal Intrinsics 对代码进行矢量化 Goal 本教程的目标是提供使用通用 ...

  9. matlab修改图像分辨率_[转载]Matlab图片保存指定分辨率(图片dpi设置)

    登录后查看更多精彩内容~ 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 本帖最后由 haobang008 于 2016-7-19 14:38 编辑 先附上效果对比,第一张图是300dpi设置 ...

最新文章

  1. 《Python和Pygame游戏开发指南》——1.12 图书中的文本折行
  2. python语言介绍-Python语言的简介
  3. php正则替换imgsrc_php如何替换img中src内容
  4. Python+Selenium学习笔记8 - 多表单多窗口切换
  5. 大一计算机应用的实验报告,大一《计算机应用基础》实验报告1.doc
  6. vue(一)vue-cli安装
  7. asp.net mvc 压缩html代码,浅谈ASP.NET中MVC 4 的JS/CSS打包压缩功能
  8. mac上virtualbox创建vm需要注意启动顺序
  9. oracle dblink性能,谈谈Oracle为2019年埋下的雷:Oracle关于DBLINK的预警
  10. 即拿即用-Android单线程断点下载
  11. 小提琴1234567位置图解_小提琴1234567位置图解 那就随便拉了啊反正是玩嘛~怎
  12. Yalmip:踩坑记录/窍门分享
  13. Router Support for Fine-Grained Latency Measurements阅读笔记
  14. 将Linux下文件目录使用Nginx代理使浏览器可访问
  15. 哪些原因会导致头晕头痛,日常应该如何去注意呢?
  16. 【语音隐藏】基于matlab小波变换DWT结合离散余弦变换DCT音频数字水印嵌入提取【含Matlab源码 2131期】
  17. DMC-Net: Generating Discriminative Motion Cues for Fast Compressed Video Action Recognition 论文赏析
  18. nacos连接mysql失败_完美解决MySQL通过localhost无法连接数据库的问题
  19. vue使用sort实现json数据中字母排序
  20. 正则表达式[^\\.]

热门文章

  1. 最大公约数(Greatest_Common_Divisor)
  2. mysql删除有关联的数据库表_【数据库】mysql如何删除关联表
  3. 【学习笔记】mongodb的使用(二)flask项目使用mongodb实现人员管理系统
  4. 【项目】springboot中使用kaptcha生成验证码,登录时密码加盐处理
  5. netstat命令查看套接字信息
  6. centos 安装 redmine 2.6.0.stable
  7. Eclipse在Ubuntu8.04桌面系统下安装和弹出空白对话框
  8. JavaScript基础12-day14【DOM查询(获取元素节点、获取元素节点的子节点)、全选练习、DOM增删改、DOM添加删除记录、Window对象方法】
  9. C/C++【顺序表】【初始化、赋值、打印、取值、查找、插入、删除、销毁、综合举例】
  10. Bootstrap4+MySQL前后端综合实训-Day03-AM【折叠、模态框】