• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

MATLAB坐标系中绘制图片

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

MATLAB坐标系中绘制图片

方法一

使用图片坐标循环的方式,代码如下。

clear,clc,close all
tic;
map=imbinarize(imread(\'map.bmp\'));%map is logical

for i = 1:1000
    for j = 1:1000
        if map(i,j)
          continue;
        else
          plot(i,j,\'LineStyle\',\'none\',\'Marker\',\'.\',\'Color\',\'black\');
          hold on;
        end
    end
end
fprintf(\'processing time=%d \n\', toc);

运行时间为1.538011e+02 秒,且运行完很卡,基本不能使用,小规模矩阵可以考虑。

可以考虑使用一定方法进行优化,比如分割成小矩阵判断是否为全零矩阵决定是否对这一区域进行绘图;取小矩阵的中心点进行测试等。

方法二

使用向量化编程。

clear,clc,close all

tic;
map=flipud(imbinarize(imread(\'map.bmp\')));%map is logical
% 测试数据矩阵大小
[m,n] = size(map);
% 得到0的下标
[row,col] = ind2sub([m,n],find(~map));
% 作散点图
figure;
scatter(0.1.*col,0.1.*row,\'k\',\'.\'),hold on;

fprintf(\'processing time=%d \n\', toc);

运行时间为7.904587e-02秒,应用效果很好。

参考文献

小木虫-libralibra

百度知道


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap