gpt4 book ai didi

image - 在图片中创建一个钻石

转载 作者:行者123 更新时间:2023-12-02 08:30:30 25 4
gpt4 key购买 nike

我要编写一个程序,在特定图像中显示钻石我写了这段代码

Img=zeros(256,256);
for x=1:256
for y=1:256
if(y-x==128)||(y-x==-128)||(y+x==128)
Img(x,y)=1;
end

end
end
imshow(Img);

enter image description here

我可以画三边菱形。我如何绘制第四条边?

最佳答案

Luis Mendo 在循环的 if 语句中确定了最后一个条件以绘制最后一行。如果您需要 for 循环解决方案,他的解决方案就是您正在寻找的解决方案。

但是,如果您想要更矢量化的内容,更有效的方法是使用 meshgrid 定义坐标网格然后只需应用一系列 逻辑 操作即可获得您的钻石。换句话说:

[x,y] = meshgrid(1:256, 1:256);
Img = abs(x-y) == 128 | x+y == 384 | x+y == 128;
imshow(Img);

我们因此得到:

enter image description here


一般来说,对于给定尺寸的正方形图像,您可以通过以下方式将其调整为任何尺寸的图像:

N = 256; %// Change here - width/height of your image
[x,y] = meshgrid(1:N, 1:N);
Img = abs(x-y) == floor(N/2) | x+y == floor(3*N/2) | x+y == floor(N/2);
imshow(Img);

我已经放置了一个 floor 操作,以防您想要指定不能被 2 整除的图像大小。但是,菱形的对称性可能看起来不正确,但代码会无论如何工作。

关于image - 在图片中创建一个钻石,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27426052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com