基于图像迷宫的最短路径迷宫求解算法。

mazesolver的Python项目详细描述


迷宫求解器

该算法在黑白迷宫图像中寻找最短路径。它输出一个路径标记为绿色的图像。在

安装

使用python3 -V检查python版本是否为>;=3.5。 还要确保pip与python3 -m pip -V一起安装。在

要安装,只需在命令行上运行python3 -m pip install mazesolver --user。在

您可以使用mazesolvermazesolver.exe运行该工具。在

迷宫图像的规则是什么?在

  • 用黑色像素标记的墙和用白色像素标记的路径

  • 整个迷宫周围的墙

  • 上排有一个入口,下排有一个出口

您可以使用mazegenerator生成一个兼容的迷宫,或者在图像编辑程序中制作自己的图像。在

如果这令人困惑,请查看pics目录中的一些示例迷宫。

如何使用它?在

您可以使用mazesolver --help获取命令列表。在

请确保您的图像符合上述规范。在

正常使用如下:mazesolver -i path/to/input_img -o path/to/output_dir/

算法是如何工作的?在

  • 从入口开始,把它标为零。在

  • 移动到任何相邻单元格并用1标记

  • 移动到标记为1的单元格附近的任何单元格,并将其标记为2

  • 继续执行此操作,直到标记所有单元格

  • 从迷宫的出口开始,移动到任何相邻的单元格,该单元格==当前单元格的编号-1。直到我们到达0(入口)。在

我们现在有了从入口到出口的最短路径!在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在mongodb中获取用户有权访问的数据库列表?   基于契约和类不变量的java设计   java我的代码有什么问题,似乎是正确的,但事实并非如此   java Android初学者:布局按钮和文本   400错误Paypal令牌API与Java(HttpURLConnection)   为什么Java从socket中随机读取数据,而不是整个消息?   如果我调用scanner,我会扫描两次。先是下一个,然后是扫描仪。下一个   如果消息发送失败,java ActiveMQ/JMS不重试   java有没有类似于dynaTrace的开源框架?   java Android:获取zip中的文件数(使用存储卷/存储访问框架)   java无法将流图像解码为片段   java如何修复Jenkins插件中的“此位置的预期stackmap帧”   java如何使用javac编译器编译AndroidManifest。xml文件?