利用Matlab快速绘制栅格地图




代码演示
% 基于栅格地图的机器人路径规划算法
% 第1节:利用Matlab快速绘制栅格地图
clc
clear
close all %% 构建颜色MAP图
cmap = [1 1 1; ... % 1-白色-空地
0 0 0; ... % 2-黑色-静态障碍
1 0 0; ... % 3-红色-动态障碍
1 1 0;... % 4-黄色-起始点
1 0 1;... % 5-品红-目标点
0 1 0; ... % 6-绿色-到目标点的规划路径
0 1 1]; % 7-青色-动态规划的路径 % 构建颜色MAP图
colormap(cmap); %% 构建栅格地图场景
% 栅格界面大小:行数和列数
rows = 10;
cols = 20; % 定义栅格地图全域,并初始化空白区域
field = ones(rows, cols); % 障碍物区域
obsRate = 0.3;
obsNum = floor(rows*cols*obsRate); %定义障碍物的数量
obsIndex = randi([1,rows*cols],obsNum,1); %定义障碍物的线性索引值
field(obsIndex) = 2; %将地图区域中障碍物的值设置为2 % 起始点和目标点
startPos = 2;
goalPos = rows*cols-2;
field(startPos) = 4;
field(goalPos) = 5; %% 画栅格图
image(1.5,1.5,field);
grid on;
set(gca,'gridline','-','gridcolor','k','linewidth',2,'GridAlpha',0.5); %设置栅格线条的样式(颜色、透明度等)
set(gca,'xtick',1:cols+1,'ytick',1:rows+1); %设置横纵方向上步长为1
axis image;
也就根据x,y坐标的最大值和最小值最紧凑调整坐标轴的显示范围,
axis equal 等比例显示x,y坐标轴,由于x,y轴的范围是可以分辨调整的
所以很容易让得到的图像在屏幕上显示,x,y方向的比例不一致,圆形显示为椭圆形
为了方便比较,这个命令可以让x轴和y轴比例一致
但是分别执行以上两个命令,会互相覆盖,紧凑显示的时候,比例不对
比例对了的时候,显示不紧凑,留太多空白
axis image
相当于以上两个命令的合体,能够同时实现紧凑以及xy比例一致两个功能
总结:
Image()函数根据矩阵来绘制栅格图,矩阵中的数值代表颜色的类别;
颜色的类别可以通过colormap()函数固定有哪些(矩阵中的数值为cmap中的index(索引值));
从而Image通过矩阵中数值显示的数值只能来自于colormap中的;
axis image设置栅格图x、y比例相等
利用Matlab快速绘制栅格地图的更多相关文章
- 利用Python快速绘制海报级别地图
1 简介 基于Python中诸如matplotlib等功能丰富.自由度极高的绘图库,我们可以完成各种极富艺术感的可视化作品,关于这一点我在系列文章在模仿中精进数据可视化中已经带大家学习过很多案例了. ...
- (数据科学学习手札130)利用geopandas快捷绘制在线地图
本文示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在上一篇文章中,我为大家介绍了不久前发布的 ...
- 利用d3.js绘制中国地图
d3.js是一个比較强的数据可视化js工具. 利用它画了一幅中国地图,例如以下图所看到的: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3ZhcDE=/ ...
- matlab利用m_map工具包画中国地图及散点云图
开始之前需要准备好malab,中国地图shp文件,m_map工具包. 中国地图shp文件可以在下面的链接中下载: https://gadm.org/download_country_v3.html 本 ...
- 用matlab绘制中国地图
reference:https://jingyan.baidu.com/article/870c6fc36fdacfb03ee4be58.html shp: http://muchong.com/ht ...
- matlab构建栅格地图绘图思路
matlab构建栅格地图绘图思路 近来因研究需要,调研并思考了栅格地图的生成方法,暂时总结以备不时之需. 栅格的建立最需要注意栅格粒度的问题,即根据需要调整栅格的边长,目前有两种思路一种是固定栅格边长 ...
- 利用matlab自带函数快速提取二值图像的图像边缘 bwperim函数
clear all;close all;clc; I = imread('rice.png'); I = im2bw(I); J = bwperim(I); % 提取二值图像图像边缘 figure ...
- [转帖]MATLAB曲线绘制及颜色类型
信号源产生的方法 来源:http://www.2cto.com/kf/201401/270494.html matlab的checkerboard说明,GOOD! 来源:http://www.chi ...
- R绘制中国地图,并展示流行病学数据
流行病学的数据讲究“三间分布”,即人群分布.时间分布和空间分布.其中的“空间分布”最好是在地图上展示,才比较清楚.R软件集统计分析与高级绘图于大成,是最适合做这项工作了.关于地图的绘制过程,谢益辉.邱 ...
随机推荐
- 走进第四范式:决策类AI企业的生存之道
根据不同的应用领域,人工智能行业可以分为视觉类人工智能.语音及语义类人工智能和决策类人工智能. 通常,我们接触的都是视觉类.语音类的人工智能,它们主要用来帮助人类执行具体任务,例如人脸识别,语音控制等 ...
- Java基本规范
1.Java是区分大小写的语言,关键字的大小不能写错,例如把class写成Class或者CLASS,都会导致出错. 2.在一个类的内部不能定义其他的类,即类和类之间是平行而非嵌套的关系. 3.一个程序 ...
- 利用POST请求模拟登录豆瓣
需要用requests库 豆瓣上次更新后,就不能通过直接的requests.post()方式直接传递参数登录了.必须新建session,先GET请求,然后POST才能成功.原因未知 data参数中的四 ...
- 网络爬虫深究-初识HTTP和https常识
网络爬虫专题--HTTP基本原理 URI和URL.URN的关系 超文本 HTTP和HTTPS URI和URL 首先,我们来了解一下URI和URL,URI,即统一资源标志符,URL,即统一资源定位符. ...
- JZ-039-平衡二叉树
平衡二叉树 题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树. 在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树 题目链接: 平衡二叉树 代码 /** * 标题:平衡二叉树 * 题目 ...
- xor加密的python实现
#md5加密 import hashlib hash_md5 = hashlib.md5() x=input("Please input your text:") print( & ...
- think php 公共目录common.php json封装
<?php function getJsonData($code,$massage,$data){ $result=[ 'code'=>$code, 'massage'=>$mass ...
- k-means聚类:擒贼先擒王,找到中心点,它附近的都是一类
属于无监督学习,聚类算法事先并不需要知道数据的类别标签,只是根据数据特征去学习,找到相似数据的特征,然后把已知的数据集划分成几个不同的类别 算法原理: 假设数据总共有m条,计划分成3个类别 先随机在这 ...
- yum 安装时报错 Existing lock /var/run/yum.pid: another copy is running as pid 3192.
yum 安装时报错 由于yum的时候意外退出造成的,虽然也给出提示当前占用进行的id,但是执行kill -9 强制杀死进程后,情况没能改变. 解决方法:rm -f /var/run/yum.pid然 ...
- 'javac' 不是内部或外部命令,也不是可运行的程序或批处理文件
记录在配置环境变量中被 Path 环境坑的一次前提:保证自己电脑中jdk环境配置都没有问题,即JAVA_HOME.Path.CLASSPATH均配置成功. 在这里我就不操作如何配置环境变量了,百度上面 ...