matlab读取一副图片,在中间挖一黑洞,并保存

2025-01-05 09:26:47
推荐回答(1个)
回答1:

其实就是让中心附近的点都改成0就行了。给你个参考程序和效果图:


pa=imread('moon.tif');

h=size(pa);

ax=ceil(h(1)/2);

ay=ceil(h(2)/2);

[x,y]=meshgrid(1:h(1),2:h(2));

x=x(:);

y=y(:);

bx=x((x-ax).^2+(y-ay).^2<=2000);

by=y((x-ax).^2+(y-ay).^2<=2000);

index=sub2ind(h,bx,by);

pa(index)=0;

imshow(pa)

imwrite(pa,'a.tif','tif')


效果图:


其他的文件格式都类似,慢慢摸索一下吧。