博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
matlab练习程序(随机游走图像)
阅读量:6535 次
发布时间:2019-06-24

本文共 821 字,大约阅读时间需要 2 分钟。

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

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

产生的图像:

matlab代码如下:

clear all;close all;clcn=70000;        %游走的步数。也是图像中像素个数,有些位置可能重复,所以白像素小于等于nx=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];         %保存坐标endminy=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;endimshow(img)

 

转载于:https://www.cnblogs.com/tiandsp/p/3187011.html

你可能感兴趣的文章