用matlab在RGB三色背景图上生成随机的点或线

1.生成随机点:

主程序:

clear;
clc;
picture_name = 1;
%用来标记生成图片的序号

for i = 1 : 2 %要生成几张图片,就改成几次循环,这里是生成两张图片

RGB_set('R',2,12,'w'); 
%[背景色],[生成点个数][点的大小][点的颜色]
savefigure2img([num2str(picture_name),'.jpg']); 
%将图片保存到该路径下
picture_name = picture_name + 1;
end

随机点生成函数RGB_set.m:

function RGB_set(Background,count,white_size,color_set)
figure;
%设置图片背景颜色
if Background == 'R'  
    R = 255;G = 0;B = 0;
elseif Background == 'G'
    R = 0;G = 255;B = 0;
else
    R = 0;G = 0;B = 255;
end

set(gcf,'Position',[0,0,1650,1080]);
%设置图片分辨率以及显示位置
set(axes,'Color',[R/255 G/255 B/255]); 
%设置坐标轴框内的背景色
hold on
set(gca,'xtick',[],'ytick',[],'xticklabel',[],'yticklabel',[]);
%隐藏横纵坐标

if R ~= 0
 set(gca,'xcolor','r','ycolor','r')
elseif G ~= 0
 set(gca,'xcolor','g','ycolor','g') 
else
 set(gca,'xcolor','b','ycolor','b') 
end

hold on
set(gcf,'Color',[R/255 G/255 B/255]); 
%设置坐标轴外框的颜色
hold on 
C = randi([-100,100],count,1);   
% 随机生成整数型函数
C1 = randi([-100,100],count,1);
%这个是修改白色圆点大小的值
axis([-100 100 -100 100]);
plot(C,C1,'o','Color',color_set,'MarkerfaceColor',color_set,'MarkerSize',white_size);
end

显示效果:
在这里插入图片描述

2.生成随机线:
主程序:

clear;
clc;
picture_name = 1;
for i = 1 : 2 %要生成几张图片,就改成几次循环,这里是生成两张图片
RGB_set_line('B',4,10,'k',1);
%【背景色】,【生成线的个数】,【线的宽度】,【线的颜色】,【线的横竖(1是竖,2是横)savefigure2img([num2str(picture_name),'.jpg']); %保存路径
picture_name = picture_name + 1;
end

随机线生成函数RGB_set_line.m:

function RGB_set_line(Background,count,line_weith,color_set,c_or_r)
figure;
%设置图片背景颜色
if Background == 'R'  
    R = 255;G = 0;B = 0;
elseif Background == 'G'
    R = 0;G = 255;B = 0;
else
    R = 0;G = 0;B = 255;
end

set(gcf,'Position',[0,0,1650,1080]); %设置图片分辨率以及显示位置
set(axes,'Color',[R/255 G/255 B/255]);
hold on
set(gca,'xtick',[],'ytick',[],'xticklabel',[],'yticklabel',[]); %隐藏横纵坐标

if R ~= 0
 set(gca,'xcolor','r','ycolor','r')
elseif G ~= 0
 set(gca,'xcolor','g','ycolor','g') 
else
 set(gca,'xcolor','b','ycolor','b') 
end

hold on
set(gcf,'Color',[R/255 G/255 B/255]);
hold on 

axis([-1000 1000 -650 650]);

if c_or_r == 1
       for j = 1 : count
        C = randi([-1000,1000],1,1);   % 随机生成整数型函数
        C = linspace(C,C,2);
        plot(C,[-1000,1000],'Color',color_set,'MarkerfaceColor',color_set,'linewidth',line_weith);
       end
else
    for j = 1 : count
        C = randi([-600,600],1,1);   % 随机生成整数型函数
        C = linspace(C,C,2);
        plot([-1000,1000],C,'Color',color_set,'MarkerfaceColor',color_set,'linewidth',line_weith);
    end
end
set(gca,'position',[0 0 1 1]);
end

效果图:

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

季南枫(JIM)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值