利用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;  

matlab 的 colormap 函数

Matlab中image函数用法

axis tight 将坐标轴显示的框调整到显示数据最紧凑的情况
也就根据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比例相等


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM