Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
 
 
主题工具 显示模式
旧 2008-10-27, 22:35   #1
子虫湖南
初级会员
 
注册日期: 2008-10-27
年龄: 43
帖子: 2
声望力: 0
子虫湖南 正向着好的方向发展
默认 [求助]用matlab生成随机图像

有个matlab程序,运行结果不是我想得到的效果。
我的目的是想生成一幅二值图像,白色背景,由随机分布的50个黑色矩形构成,也就是说矩形的位置是随机的。其次,矩形宽服从正态分布,高是宽的两倍。
请高手帮忙,程序如下:

f=ones(256,256); %生成全为1的256阶矩阵
subplot(131);imshow(f); %显示(白色矩阵)

x=unidrnd(256^2,1,50); %生成50个不超过256的平方的均匀随机数
for i=1:50
f(x(i))=0;
end %50个随机点处像素值改为0(50个黑点)
subplot(132);imshow(f);

y=normrnd(15,1,1,50); %生成50个正态分布N(15,1)随机数
y=round(y);
z=2*y;

for i=1:50
for k=1:z(i)
if x(i)+k>256^2
break;
else
f(x(i)+k)=0;
for n=1:y(i)
if y(i)*256+x(i)>256^2
break;
else
f(y(i)*256+x(i))=0;
f(y(i)*256+x(i)+k)=0;
end
end
end %对每个黑点x(i),将以该点为左上角顶点的高为z(i),
宽为y(i)的矩形区域内的点全都赋值0(即变黑)
subplot(133),imshow(f);

直接复制到matlab下,可以运行。:ft:
子虫湖南 当前离线   回复时引用此帖
 

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
如何实现gui窗口嵌套 beulah MATLAB论坛 1 2008-12-28 17:57
Cleve’s Corner: Experiments with MATLAB TechnicalArticles MATLAB技术文章 0 2008-12-19 05:51
[求助]汽车车牌字符分割 zhaokunyao MATLAB论坛 0 2008-12-15 23:27
[求助]怎么改变控件的背景颜色 sjuie_192 MATLAB论坛 0 2008-12-13 11:34
[求助]通信系统仿真:条件是MIMO(2*2),平坦瑞利衰落,用QPSK调制 lmg123 MATLAB论坛 0 2008-12-13 10:30


所有时间均为北京时间。现在的时间是 16:24


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.