码迷,mamicode.com
首页 > 其他好文 > 详细

[matlab] 17.网格矩阵

时间:2018-09-06 12:39:06      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:code   tla   lap   连线   rand   off   技术分享   随机   for   

生成网格矩阵,并且根据条件筛选,重新赋值为0,1二值图像

技术分享图片
clear all;close all;
%生成二值图
index= randperm(2500,1000);  %生成10个不重复随机指标
Z= ones(50,50); %默认白底
Z(index) = 0; %随机指标处黑底
imagesc(Z); 

cmap = [0 0 0;1 1 1]; %自定义一个colormap
colormap(cmap);
axis square;
方法1

技术分享图片

技术分享图片
n=5;%方阵行列数
c=10;%填充c个方格
t = zeros(1,n*n);
list = randperm(n*n);%生成随机数,不重复
list = list(1:c);%取前c个
t(list) = 1;%填充
t = reshape(t,[n n])
m=5;v=5;
for x=1:m
    for y=1:v
        if t(x,y)==1
            fx=[x-1,x-1,x,x];
            fy=[y-1,y,y,y-1];
            fill(fx,fy,k);
            %fill将点[x1,y1],[x2,y2],[x3,y3],[x4,y4]按序连线,后形成的图像进行填充,参数‘g’表示绿色。
            %[x1,y1],[x2,y2],[x3,y3],[x4,y4]对应写成[x1 x2 x3 x4][y1 y2 y3 y4],hold on表示画在一幅图上。
            hold on
        else
        end
    end
end
[x,y]=meshgrid(0:5); %产生网格数据。
plot(x,y,k,y,x,k); %画横线,画竖线。
axis equal; % 保证网格是方格。
axis([0 5 0 5]); %设置显示范围。
set(gca,xtick,[1:5]);
set(gca,ytick,[1:5]);
grid on
grid minor
方法2

技术分享图片

技术分享图片
clc
clear
close all;

n=10;%方阵行列数
c=10;%填充c个方格
cmap = [0 0 0;1 1 1]; %自定义一个colormap
indic = randperm(n*n,c);  %生成10个不重复随机指标
img = ones(n,n); 
img(indic) = 0;
imagesc(img);
colormap(cmap);
[x,y]=meshgrid(0.5:n+0.5); %产生网格数据。
hold on
plot(x,y,k,y,x,k); %画横线,画竖线。
set(gca, XTick,1:n, YTick,1:n);
hold off
方法3

技术分享图片

 

[matlab] 17.网格矩阵

标签:code   tla   lap   连线   rand   off   技术分享   随机   for   

原文地址:https://www.cnblogs.com/clemente/p/9597286.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!