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