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

matlab练习程序(随机游走图像)

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

随机游走类似布朗运动,就是随机的向各个方向走吧。

虽然代码没什么技术含量,不过产生的图像实在太漂亮了,所以还是贴上来吧。

产生的图像:

matlab代码如下:

clear all;close all;clc

n=70000;        %游走的步数。也是图像中像素个数,有些位置可能重复,所以白像素小于等于n
x=0;            %初始x坐标
y=0;            %初始y坐标
pix=zeros(n,2); %游走产生的像素坐标
neighbour=[-1 -1;-1 0;-1 1;0 -1;0 1;1 -1;1 0;1 1];  %当前像素邻域
for i=1:n
    r=floor(1+8*rand());    %八邻域随机选一个来走
    y=y+neighbour(r,1);     %y方向游走
    x=x+neighbour(r,2);     %x方向游走
    pix(i,:)=[y x];         %保存坐标
end

miny=min(pix(:,1));         %图像坐标不可能为负,所以找最小值再整体提升为正
minx=min(pix(:,2));         %同上

pix(:,1)=pix(:,1)-miny+1;   %像素坐标整体变为正
pix(:,2)=pix(:,2)-minx+1;

maxy=max(pix(:,1));         %找最大坐标值,为开辟图像做准备
maxx=max(pix(:,2));

img=zeros(maxy,maxx);       %根据maxy、maxx产生图像
for i=1:n                   %将游走的值赋给图像
    img(pix(i,1),pix(i,2))=1;
end
imshow(img)

 


鲜花

握手

雷人

路过

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

请发表评论

全部评论

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

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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