当前位置: 首页 > 专利查询>清华大学专利>正文

一种基于哈密顿路径的图像式迷宫设计方法技术

技术编号:3843323 阅读:562 留言:0更新日期:2012-04-11 18:40
基于哈密顿路径的图像式迷宫设计方法,属于迷宫设计技术。其特征在于,包括以下步骤:A.对输入的图像进行预处理,将其扩缩到固定的尺寸,并根据图像内容分布进行二值化处理。B.将二值化后的图像进行小格化处理,并求其缩放,求得最大连通域,最终只保留最大连通域所涉及的内容。利用启发式算法在其中找出一条近似哈密顿路径,将此路径作为将要设计的迷宫的解。本发明专利技术技术方案可以设计出以特定图像内容为解的迷宫。

【技术实现步骤摘要】

本专利技术涉及1巾设计迷宫的方法,特别涉及基T哈密顿路径的图像式迷宫设计方法
技术介绍
迷宫不仅是一种玩具、 一种游戏,还被用于建筑、园林、艺术创作、科学研究等方面, 是一种人类文化遗产。迷宫之所以吸引人,在于它的趣味性及对智力的挑战性。将迷宫与建 筑、园林相结合,大大提高了它们的艺术性和神秘感。很多商家也看中了迷宫本身的独特性, 将其应用于网络中的各种小型游戏中,以及各种卡通图片设计中,深得大家的喜爱。国内外 对迷宫做过一些很有意义的研究,但在已知特定解的情况下求迷宫方面的研究却很少。本专利技术所利用的最基本的技术是求哈密顿路径的算法。哈密顿圈或路径算法被运用在解 决各种问题上,典型地应用有求解旅行商推销员问题。研究最多的两类哈密顿算法是回溯哈 密顿算法和启发式哈密顿算法。回溯算法是求解哈密顿圈或路径问题的一种标准算法,它可 以求解出问题所有的解,并从中找出最优的解。它主要采用剪枝策略来限制搜索的范围,在 最坏的情况下,算法时间复杂度达到指数级。而启发式算法是求解哈密顿圈或路径问题的一 种常用算法,它不能保证最终一定求得解,或是证明问题是否有解。它主要采用某些启发算 子和随机算子来指导搜索的方向,因此算法时间复杂度仅仅是线性或低次多项式的。目前,迷宫的设计都停留在迷宫的形状上面,却忽略了迷宫解的意义性和趣味性,从而 降低了迷宫研究的价值。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种新型迷宫的设计方法,设计出以特定图像为 解的迷宫。所述迷宫设计方法如下 步骤(1):对原图像进行预处理,并求得哈密顿路径步骤(l.l),把所述原图像从彩色空间转换到灰度空间,得到灰度图像,利用等比例映 射的方法将该灰度图像扩縮到设定的大小,然后设定阈值将该灰度图像二值化, 不断调节该阈值的大小,使二值化后的所述被扩缩了的灰度图像能够表达所述原 图的主体轮廓内容;步骤(1.2),把步骤(1.1)得到的所述二值化后的图像分割成一个个相同大小的矩形 .窗口 ,如果所述矩形窗口内的0像素点总数与该矩形窗口内总像素点数之比达到 设定的比例阈值,则将整个矩形窗口内的所有像素点都赋值为像素值0,否则赋 值为像素值1,最后得到一小格化图像,首先调节所述矩形窗口的大小,使整个 图像轮廓内容不丢失,然后调节所述比例阈值的大小,直到整个图像具有连通性 为止,最后,对所述小格化图像进行縮放,使一个矩形窗口对应一个像素点,所 述像素点的值取所述对应矩形窗口内的像素值,使得所述小格化图像变为点图; 步骤(1.3),求出步骤(1.2)所述点图的最大连通域,对所述最大连通域内的像素点赋 值为像素值0,对所述最火连通域外的像素点赋值为像素值l,确定所述最火连通 域所在的矩形区域,再重新调节所述点图的大小,使该点图正好包含所述最大连 通域,求所述最大连通域的步骤如下 步骤(1.3.1),设定O像素点表达所述点图的主体轮廓内容,用点集簇来代表所述 点图的各个连通域,每个点集代表所述点阁中个连通域中的所有0像素点, 初始吋,所述每个点集中只包含所述点图中的一个不同的0像素点; 步骤(1.3.2),如果一个0像素点属于另一个0像素点的4连通区域(图l)内, 则称这两个像素点连通,若一个点集中存在一个像素点与另一个点集中的一 个像素点连通,则这两个点集可合并,若所述点集簇中存在可合并的两个点 集,则将这两个点集合并成一个点集,不断执行此操作,直到所述点集簇中 不再存在可合并的两个点集,最后,所述点集簇中像素点总数最多的点集就 是所求的最大连通区域; 步骤(1.4),采用启发式哈密顿算法求出步骤(1.3)所述点图中的一条近似哈密顿路径, 且必须保证该近似哈密顿路径的起点和终点所对应的像素点位于该点图的边缘, 步骤为步骤(1.4.1),用当前路径代表当前已被选择的像素点以及它们所对应的边,实际 在计算机中,当前路径只需保存像素点,而无需保存它们所对应的边,从所 述点图的边缘随机选取一个0像素点加入到所述当前路径中,由于此时该当 前路径中只有一个像素点,则该0像素点既是该当前路径的起点,也是该当 前路径的终点,将该当前路径的终点称为当前结点;6步骤(1.4.2),用点集代表所述当前结点的4连通域内的0像素邻接点,去掉该点 集中所述当前结点在所述当前路径上的紧邻像素点(图2),如果该点集中存 在未处理过的结点,则该当前路径可扩展,从该点集中选择一个度最小且未 处理过的像素点,将其加入到所述当前路径的末尾,作为新的当前结点,转 (1.4.2),否则,依次按三种情况处理l.若所述当前路径的起点存在于所述 点集中,则进行圈扩展(图3),转(1.4.2); 2.若所述点集中存在让所述当 前路径讲行旋转变称(图4)后可扩屏的像素点,从屮诜柽一个这样的像素点, 将该当前路径进行旋转变换(图4),该当前路径的新终点作为新的当前结点, 然后转(1.4.2); 3.如果两条路径中的像素点数相同,则称两条路径等长, 如果所述点集中存在一个这样的像素点,它使所述当前路径进行旋转变换后 所得到的新的终点,没有在以往的等长的当前路径中作为终点出现过,则从 所述点集中选取一个这样的像素点,将所述当前路径进行旋转变换,然后转 (1.4.2),否则,转(1.4.3);步骤(1.4.3),步骤(1.4.2)结束后,如果所述当前路径上的像素总数等于所述点 图中的O像素总数,转(1.4.5)。否则,将该当前路径前后调换,则原终点变 为新的起点,原起点变为新的终点,新的终点作为新的当前结点,然后转 (1.4.2),如果步骤(1.4.2)结束后,所述当前路径上的像素总数等于所述点 图中的O像素总数,则转(1.4.5),否则转(1.4.4);步骤(1.4.4),采用合作贪吃的方法来继续扩展所述当前路径。所述合作贪吃的方 法是,假设所述当前路径上任意两个相邻的结点VI、 V2,如果V1和V2横 向邻接,V3、 V4分别是V1、 V2纵向邻接的结点,且V3和V4横向邻接, 则将V3、 V4—起插入V1、 V2之间。如果VI和V2是纵向邻接,V3、 V4 分别是V1、 V2横向邻接的结点,且V3和V4纵向邻接,则将V3、 V4—起 插入VI、 V2之间。如此处理路径中的每一个相邻对,直到没有新的相邻对 允许再插入当前路径中;步骤(1.4.5),扩展结束,则必须将该当前路径的起点和终点转变为位于所述点图 的边缘,不断对该当前路径进行旋转变换(图4)直至成功为止;步骤(2):根据步骤(1)中求得的近似哈密顿路径,构造出以该近似哈密顿路径为解的迷宫;迷宫由一个个小矩形构成,矩形的数目M-N与步骤(1.3)所述点图的大小一致,则步骤 (1)所求得的路径中的点对应于迷宫相应位置的矩形。每个矩形的大小可根据实际需要 而定,构造迷宫的算法如下步骤(2.1),首先构造一个完整迷宫,即所构成迷宫的每个矩形的四边都是完整的,点集 是一个临时区域,用来临时存储所述点图中的一些像素点,path代表步骤(1)中 所求得的近似哈密顿路径,path中的起点作为当前结点; 步骤(2.2),将所述当前结点标记为己处理,并将与其4连通的像素点加入所述点集中, 如果该当前结点是path中唯一的一个点,转(2.3),否则,将该当前结点与它在pa本文档来自技高网...

【技术保护点】
一种基于哈密顿路径的图像式迷宫设计方法,其特征在于,所述方法在计算机中是依次按以下步骤实现的: 步骤(1):对原图像进行预处理,并求得哈密顿路径; 步骤(1.1),把所述原图像从彩色空间转换到灰度空间,得到灰度图像,利用等比例映 射的方法将该灰度图像扩缩到设定的大小,然后设定阈值将该灰度图像二值化,不断调节该阈值的大小,使二值化后的所述被扩缩了的灰度图像能够表达所述原图的主体轮廓内容; 步骤(1.2),把步骤(1.1)得到的所述二值化后的图像分割成一个个相同大 小的矩形窗口,如果所述矩形窗口内的0像素点总数与该矩形窗口内总像素点数之比达到设定的比例阈值,则将整个矩形窗口内的所有像素点都赋值为像素值0,否则赋值为像素值1,最后得到一小格化图像,首先调节所述矩形窗口的大小,使整个图像轮廓内容不丢失,然后调节所述比例阈值的大小,直到整个图像具有连通性为止,最后,对所述小格化图像进行缩放,使一个矩形窗口对应一个像素点,所述像素点的值取所述对应矩形窗口内的像素值,使得所述小格化图像变为点图; 步骤(1.3),求出步骤(1.2)所述点图的 最大连通域,对所述最大连通域内的像素点赋值为像素值0,对所述最大连通域外的像素点赋值为像素值1,确定所述最大连通域所在的矩形区域,再重新调节所述点图的大小,使该点图正好包含所述最大连通域,求所述最大连通域的步骤如下: 步骤(1.3.1 ),设定0像素点表达所述点图的主体轮廓内容,用点集簇来代表所述点图的各个连通域,每个点集代表所述点图中一个连通域中的所有0像素点,初始时,所述每个点集中只包含所述点图中的一个不同的0像素点; 步骤(1.3.2),如果一个0像素点属于另 一个0像素点的4连通区域内,则称这两个像素点连通,若一个点集中存在一个像素点与另一个点集中的一个像素点连通,则这两个点集可合并,若所述点集簇中存在可合并的两个点集,则将这两个点集合并成一个点集,不断执行此操作,直到所述点集簇中不再存在可合并的两个点集,最后,所述点集簇中像素点总数最多的点集就是所求的最大连通区域; 步骤(1.4),采用启发式哈密顿算法求出步骤(1.3)所述点图中的一条近似哈密顿路径,且必须保证该近似哈密顿路径的起点和终点所对应的像素点位于该点图的边缘,步 骤为: 步骤(1.4.1),用当前路径代表当前已被选择的像素点以及它们所对应的边,实际在计算机中,所述当前路径只需保存像素点,...

【技术特征摘要】

【专利技术属性】
技术研发人员:刘永进罗曦金泽宇黄文溢
申请(专利权)人:清华大学
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1