[发明专利]一种基于3D DFS迷宫的数字置乱方法有效
申请号: | 201410749012.4 | 申请日: | 2014-12-08 |
公开(公告)号: | CN104463769B | 公开(公告)日: | 2018-10-26 |
发明(设计)人: | 邵利平;欧阳显斌;杨璐 | 申请(专利权)人: | 陕西师范大学 |
主分类号: | G06T1/00 | 分类号: | G06T1/00 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 陆万寿 |
地址: | 710062 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种基于3D DFS迷宫的数字置乱方法,预先对DFS迷宫生成区域进行人为限定,从而可用于人为指定的任意3D封闭连通区域,同时按迷宫节点更新顺序对迷宫设定区域的每个节点赋予唯一的编号,由此产生迷宫设定区域所有节点的排列,在此基础上构造了基于3D DFS迷宫节点更新序列和节点更新序列复合的置乱方法,从而可将所有节点置乱。本发明所给出的置乱方法具有普适性和灵活性,在使用过程中不存在任何限制,不仅能应用于传统置乱方法所针对的规则区域,例如正方形和矩形区域,也可用于任意选定的3D封闭连通不规则区域置乱。本发明也给出了用于图像位面立方体,RGB立方体和RGB通道立方体的图像置乱方法。 | ||
搜索关键词: | 迷宫 置乱 节点更新 可用 封闭连通区域 不规则区域 规则区域 矩形区域 图像置乱 普适性 连通 复合 图像 封闭 赋予 应用 | ||
【主权项】:
1.一种基于3D DFS迷宫的数字置乱方法,其特征在于包括以下步骤:第1步:设定迷宫初始范围Sinit=()m×n×l和迷宫有效区域Smaze=(si,j,k)m×n×l为图像上的3D局部不规则封闭连通区域,对于
若
则标记si,j,k=‑1,反之则标记si,j,k=0表示节点si,j,k未访问,若si,j,k>0表示节点si,j,k已访问;第2步:对于
记si,j,k.d,d=0,1,2,3,4,5依次为节点si,j,k的下方墙、右方墙、上方墙、左方墙、底部墙和顶部墙,初始化si,j,k.d=‑1,d=0,1,2,3,4,5,即将Smaze范围内的所有节点以墙进行分隔,si,j,k.d=‑1表示有墙,si,j,k.d=0表示无墙;第3步:选择随机数发生器y=RG(x),设定随机数发生器初始值RG.init=seed,初始化堆栈Stack=Φ,置节点更新序列Aupdate=Φ;第4步:随机选取
标记sx,y,z=1,将sx,y,z的(x,y,z)加入节点更新序列Aupdate=Aupdate.add((x,y,z));第5步:若sx,y,z的周围相邻节点sx+1,y,z,sx,y+1,z,sx‑1,y,z,sx,y‑1,z,sx,y,z‑1,sx,y,z+1存在Smaze范围内未访问的节点,则随机选择1个未访问的节点,记为sx′,y′,z′,将sx,y,z和sx′,y′,z′之间的分割墙标记为0,将sx,y,z入栈push(Stack,sx,y,z),更新x=x′,y=y′,z=z′,标记sx,y,z=1,将(x,y,z)加入节点更新序列Aupdate=Aupdate.add((x,y,z));第6步:若sx,y,z的周围相邻节点sx+1,y,z,sx,y+1,z,sx‑1,y,z,sx,y‑1,z,sx,y,z‑1,sx,y,z+1不存在Smaze范围内未访问的节点,则将栈顶元素出栈作为当前节点,即sx,y,z=pop(Stack);第7步:反复执行第5~6步,直至Stack=Φ;第8步:利用Aupdate构造Smaze=(si,j,k)m×n×l范围内所有节点间的节点位置映射关系,从而将图像上3D局部不规则封闭连通区域Smaze=(si,j,k)m×n×l范围内所有节点进行整体置乱。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陕西师范大学,未经陕西师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410749012.4/,转载请声明来源钻瓜专利网。