为了账号安全,请及时绑定邮箱和手机立即绑定

查找图像中迷宫走廊的大小

查找图像中迷宫走廊的大小

哔哔one 2021-04-30 06:29:08
因此,我正在构建一个用于解决迷宫的应用程序,其中一种选择是上传图片,它将解决该问题。但是,在解决了迷宫问题后,输出将如下所示。我想弄清楚如何使我的程序找到合适的走廊尺寸,并使路径完全满满,使解决方案看起来像这样我的数据放入数组1名的代表墙壁和0像空格这样。到目前为止,我已经考虑过尝试找到1之间的最小距离,但这会遇到圆形迷宫和在迷宫上书写的问题。我曾考虑过要填充墙之间的距离,但是在交叉路口会遇到问题。我正在使用图像绘制image.setRGB(x, y, Color.RED.getRGB());图像是BufferedImage。我真的是个主意,不知道如何解决这个问题,将不胜感激。
查看完整描述

1 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

网格中的每个正方形都有一定的大小。用wsq*hsq表示“正方形的宽度乘以正方形的高度”。

鉴于你更细粒度的(x, y),你可以找到在这方是通过将x通过wsqy通过wsh

int xsq = x / wsq;
int ysq = y / ysq;

涂成红色的区域将来自(xsq * wsq, ysq * hsq)并且具有width / height (wsq, hsq)。并可以将其涂成红色,但这意味着您要在墙壁上涂漆。因此,您必须根据墙壁的大小来调整要用红色填充的区域。如果墙壁都是两个像素厚,则需要在正方形的x和y坐标上加上1,然后从宽度和高度中减去2。

您可以Graphics2D在每次调用时再次用()填充它,image.setRGB或者可以记住已经填充的正方形。

注意:由于您使用的是常规尺寸的正方形,因此您还可以优化迷宫求解算法,使其在正方形的网格中工作,(wsq, hsq)而不是图像中的单个像素。


查看完整回答
反对 回复 2021-05-12
  • 1 回答
  • 0 关注
  • 142 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信