一种基于三阶Bezier曲线的伪装迷彩自动生成方法_4

文档序号:9249718阅读:来源:国知局
D会分别覆 盖到车辆的四个侧面,此时矩形A与矩形B、矩形B与矩形C、矩形C与矩形D、矩形D与矩形 A会产生四条公共边,记为:ab、bc、cd、da;ab由画布上的矩形A的边al与画布上的矩形B 的边bl合并而来,be由画布上的矩形B的边b2与画布上的矩形C的边cl合并而来,cd由 画布上的矩形C的边c2与画布上的矩形D的边dl合并而来,da由画布上的矩形D的边d2 与画布上的矩形A的边a2合并而来;ab、be、cd、da与车辆竖直方向的四条侧棱相对应;为 实现车辆上跨越这四条侧棱的斑点为同一个斑点,需要对五视图画布上的斑点做如下所示 处理: 步骤(6. 2. 1)将矩形A、矩形B、矩形C、矩形D的八条边:al、a2、bl、b2、cl、c2、dl、d2 划为四组,al、bl划为第一组,b2、cl划为第二组,c2、dl划为第三组,d2、al划为第四组; 记边al、bl的交点坐标为(xCenter,yCenter); 步骤(6. 2. 2)从小型斑点库随机一个斑点spot,并让其跨越边al,记斑点spot中心坐 标为(X,y),并将其加入到序列list中; 步骤(6. 2. 3)将斑点spot的中心坐标(X,y)以al、bl的交点坐标(xCenter,yCenter) 为旋转中心顺时针旋转90度,此时斑点跨越边bl; 步骤(6. 2. 4)将旋转90度过后的斑点spot加入到序列list中; 步骤(6. 2. 6)其余三组边做同样处理; 步骤(6.3)在画布主干区域布大斑点;按照一定的间隔,从主干区域起始位置到主干 区域终点位置,遍历主干区域;然后从大型斑点库取一个斑点,用当前位置坐标作为大型斑 点的中心位置;根据当前大型斑点的缩放比例,旋转角度,计算出大型斑点的每个关键点在 画布上的实际位置; 遍历存储序列中的斑点,根据当前大型斑点的位置、缩放比例与存储序列中斑点的位 置、缩放比例,求得当前大型斑点相对于存储序列中斑点的中心相对坐标,计算公式如下: 1、x_big是大斑点的中心X坐标,y_big是大斑点的中心y坐标, 2、i是当前遍历到的小斑点序号, 3、x_small[i],是当前小斑点的X中心坐标,y_small[i]是当前小斑点的y中心坐标, 4、rotation[i]当前小斑点的旋转角度,stretch[t]当前小斑点的缩放比例 5、x_get,y_get是大小斑点的中心相对坐标 6、PI是圆周率JT 贝丨J:中心相对坐标x_get,y_get为: x_get= (x_big_x_small[i])氺cos(-rotation[i]/180氺PI)/stretch[i] _(y_big_y_small[i])氺sin(-rotation[i]/180氺PI)/stretch[i];y= (x_big_x_small[i])*sin(-rotation[i]/180*PI)/stretch[i] +(y_big_y_small[i])氺cos(-rotation[i]/180氺PI)/stretch[i]; 对大型斑点的每个关键点进行遍历,根据当前大型斑点对存储序列中斑点的相对坐 标,检测有没有关键点包含在存储序列的斑点中,如果对当前斑点的所有关键点,每个关键 点都没有包含在存储序列的斑点中,则表明当前大型斑点没有覆盖画布上的任何一个斑 点,将该大型斑点加入到存储序列中; (6.4)按照大型斑点的随机方式,分别随机中型斑点和小型斑点; (6. 5)本策略执行时间:长10米,宽3米,高3米的车所对应的五视图画布,生成时间 大约为30-60秒; 步骤(7),计算每个迷彩斑点以及未被迷彩斑点覆盖的画布所占整个画布的面积比: 将整个画布划分为大小均匀的小正方形,并计算出每一个小正方形所占整个画布的比 例;对所有小正方形进行遍历,对当前遍历到的小矩形块与迷彩图案上的所有斑点进行碰 撞检测,如果小正方形块与某个斑点有交集,则该斑点所占整个斑点的面积比增加S,继续 遍历下一个小正方形块,直到所有正方形块遍历完全;用1减去每个斑点所占的面积比,则 为未被斑点覆盖的画布所占整个画布的面积比; 步骤(8),按照给定三种颜色比例,对斑点画布进行涂色: 给定的颜色比例分别为:6:4、3:3:2、2:2:2:3 ;以颜色比2:2:3:3来讲解按照给颜色积 比对斑点画布进行涂色的思想: 如果颜色比要求为3:3:2:2,则四种颜色在画布上所占的百分比对应为 0. 3, 0. 3, 0. 2, 0. 2 ;定义画布上一共有n个斑点,每个斑点面积比设为spot(t),t取值为从别为A、B、C、D,四种颜色当前在画布上的面积比为S(A),S(B),S(C),S(D),涂色之前S(A)= 0,S(B) = 0,S(C) = 0,S(D) = 0 ; 步骤(8. 1),首先将所有迷彩斑点的面积比由大到小排序; 步骤(8. 2),将未被斑点覆盖的画布面积比加到A颜色当前面积比中,S卩:S(A)=S(A)+canS,判断S(A)是否大于等于0. 3,如果大于等于,则执行8. 3,如果小于则执行8. 4 ; 步骤(8. 3),按斑点面积比从大到小的顺序进行遍历,索引i取值从0~n,初始为0 ; 步骤(8. 3. 1)如果S(B)〈0. 3,则执行:S⑶=S(B)+spot⑴,i=i+1,否则跳转 8. 3. 2 ;如果i〈n+l,则继续执行8. 3. 2,否则结束; 步骤(8. 3. 2)如果S(C)〈0. 2,则执行:S(C) =S(C)+spot⑴,i=i+1,否则跳转 8. 3. 3 ;如果i〈n+l,则继续执行8. 3. 3,否则结束; 步骤(8.3.3)如果S(D)〈0. 2,则执行:S(D)S(D)+spot(i),i=i+1,否则跳转 8.3.1 ; 如果i〈n+l,则跳转到8. 3. 1,并继续执行,否则结束; 步骤(8. 4),按斑点面积比从大到小的顺序进行遍历,索引i取值从0~n,初始为0 ; 步骤(8. 4. 1)如果S⑷〈0? 3,则执行:S⑷=S⑷+spot(i),i=i+1,否则跳转 8. 4. 2 ;如果i〈n+l,则继续执行8. 4. 2,否则结束; 步骤(8. 4. 2)如果S(B)〈0. 3,则执行:S⑶=S(B) +spot⑴,i=i+1,否则跳转 8. 4. 3 ;如果i〈n+l,则继续执行8. 4. 3,否则结束; 步骤(8. 4. 3)如果S(C)〈0. 2,则执行:S(C) =S(C)+spot⑴,i=i+1,否则跳转 8. 4. 4 ;如果i〈n+l,则继续执行8. 4. 4,否则结束; 步骤(8. 4. 4)如果S(D)〈0? 2,则S执行:(D)+spot(i),i=i+1,否则跳转 8. 4. 1 ;如果i〈n+l,则跳转到继续执行8.4. 1,否则结束; 步骤(9)将绘制的迷彩图案在AutoCAD中自动重绘: 步骤(9. 1)将要软件中迷彩斑点的坐标转换为AutoCAD中坐标;步骤(9. 2)用AutoCAD中SPL命令生成所有迷彩斑点在AutoCAD中的绘制命令; 步骤(9. 3)最后在AutoCAD命令窗口中粘贴(9. 2)中生成好的命令,将迷彩图案在AutoCAD中重绘出来,实现AutoCAD图纸的自动生成。
【专利摘要】一种基于三阶Bezier曲线的伪装迷彩自动生成方法,本方法具有按照给定模型尺寸、颜色比、斑点曲率半径,快速自动化生成迷彩斑点、并在AutoCAD中自动绘图等几个主要方面的功能。传统斑点图案生成主要是人工绘制,这种做法不仅生产效率低下,而且斑点形状以及颜色面积比等各个方面很难达到实际要求,没有发挥计算机给生产带来的方便。本迷彩图案自动生成系统的设计主要依托计算机技术,实现迷彩图案的自动绘制,不仅大大提高了设计效率,而且利用数字图像处理技术对人眼不能识别的色差、曲率半径等进行处理,并且各种颜色的面积比更加精确的符合迷彩图案设计要求,增强了伪装程度。
【IPC分类】G06T19/00
【公开号】CN104966320
【申请号】CN201510432519
【发明人】王勇, 许荣强, 辛淙, 刘相新, 黎兰, 韦学中
【申请人】北京工业大学
【公开日】2015年10月7日
【申请日】2015年7月21日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1