一种自定义拼花方法及系统与流程

文档序号:17225313发布日期:2019-03-27 12:33阅读:273来源:国知局
一种自定义拼花方法及系统与流程

本公开涉及图像处理领域,特别涉及一种自定义拼花方法及系统。



背景技术:

一般来说,一副瓷砖拼花图案是由多种不同纹理且不同形状的瓷砖,通过合理排列组合而成,具有较高装饰及观赏价值的产品。每一个拼花图案都需要使用photoshop等专业图像编辑软件,对拼花的区域进行抠选,分层处理,遮罩层转换,位置摆放,合成纹理步骤,操作繁琐,花费时间长,且用户必须熟练掌握软件操作技巧,传统设计拼花的方式需要经过以下步骤:

第一步,将dwg格式文件转换为图片格式输出为拼花线框图。

第二步,根据需要收集瓷砖产品纹理图片。

第三步,使用photoshop绘图软件,导入拼花线框图作为底图。

第四步,使用描边工具根据拼花线框图的线段进行描线,通过多次重复该步骤,绘制出一个独立的封闭线段区域。

第五步,多次重复第五步操作,直到每一个独立封闭线段区域被绘制出来。该操作过程所需时间视拼花形状复杂程度而定,拼花所包含的封闭线段区域越多,所花时间越长。

第六步,将已收集的瓷砖纹理图片导入到拼花线框图中。

第七步,使用蒙版工具,对独立的封闭线段区域进行遮罩转换处理。

第八步,将瓷砖纹理放入被遮罩层,并调整摆放位置和角度,获得所需效果。

第九步,多次重复第九步操作,将多种瓷砖纹理摆放完毕为止。该操作过程所需时间视搭配次数而定,尝试次数越多,所花时间越长。



技术实现要素:

本公开的目的是本公开提供一种自定义拼花方法及系统,提供一个可视化的3d图形在线编辑工具,在客户端通过导入户型图识别房间类型到云端调取3d模板库内的样板间,样板间读取到客户端后,根据房间类型设置各种参数提交给云端并通过云端为客户端提供高质量渲染服务,更高效分配计算资源给每一个渲染任务,完成后将结果回传至客户端使用,所述一种自定义拼花方法具体包括以下步骤:

步骤1,从本地计算机向服务器终端传输dwg格式文件;

步骤2,读取dwg格式文件中拼花形状信息的长度、宽度、反射系数;

步骤3,将dwg格式文件转化为图片格式文件并根据拼花形状信息的长度、宽度读取图片格式文件的2d像素矩阵数据;

步骤4,根据拼花形状信息的反射系数将2d像素矩阵数据进行渲染处理得到渲染像素矩阵;

步骤5,运用2d像素边界算法寻找渲染像素矩阵的区域边界;

步骤6,根据区域边界的封闭线段将渲染像素矩阵进行区域分块,将每个封闭线段区域作为可独立铺贴瓷砖的纹理铺贴区域;

步骤7,使用预设颜色值对不相邻的纹理铺贴区域进行填充得到色彩铺贴拼花;

步骤8,使用预设瓷砖纹理填充到不相邻的各个纹理铺贴区域中得到纹理铺贴拼花;

步骤9,保存色彩铺贴拼花和纹理铺贴拼花数据到服务器端作为一个拼花设计模板。

进一步地,在步骤1中,所述dwg格式文件包括有拼花形状尺寸信息,所述拼花形状尺寸信息包括拼花的长度、宽度、反射系数,dwg格式文件通过客户端从本地计算机向服务器终端传输。

进一步地,在步骤3中,所述图片格式文件包括bmp格式、jpeg格式、jpg格式、gif格式、png格式。

进一步地,在步骤3中,所述2d像素矩阵数据通过java_imageio类库、opencv类库其中一种类库获取。

进一步地,在步骤4中,所述根据拼花形状信息的反射系数将2d像素矩阵数据进行渲染处理得到渲染像素矩阵,为通过sketchup、3dsmax、maya其中任意一种的渲染插件。

进一步地,在步骤5中,所述运用2d像素边界算法寻找渲染像素矩阵的区域边界的方法为:从2d像素矩阵的第一个像素的rgb值开始向右和向下寻找写其不相同的rgb,标记为区域边界,遍历完每一个区域边界后,再从剩下像素找下一个区域边界,一直到遍历完为止,记录下所有区域边界像素。

进一步地,在步骤7中,所述使用预设颜色值对不相邻的纹理铺贴区域进行填充得到色彩铺贴拼花的方法为,在相邻的纹理铺贴区域使用不同的预设颜色值填充,防止颜色混淆。

进一步地,在步骤8中,所述使用预设瓷砖纹理填充到不相邻的各个纹理铺贴区域中得到纹理铺贴拼花的方法为,在相邻的纹理铺贴区域使用不同的预设瓷砖纹理填充,防止纹理混淆。

进一步地,在步骤9中,所述保存色彩铺贴拼花和纹理铺贴拼花数据到服务器端的通信方法为,使用socket直接与服务器端进行通信,传输的内容采用简单的xml数据格式的协议,通过wifi、3g/4g网络,服务器端使用mysql数据库。

本发明还提供了一种自定义拼花系统,所述系统包括:

dwg文件传输模块,用于从本地计算机向服务器终端传输dwg格式文件;

拼花形状读取模块,用于读取dwg格式文件中拼花形状信息的长度、宽度、反射系数;

像素矩阵读取模块,用于将dwg格式文件转化为图片格式文件并根据拼花形状信息的长度、宽度读取图片格式文件的2d像素矩阵数据;

矩阵渲染模块,用于根据拼花形状信息的反射系数将2d像素矩阵数据进行渲染处理得到渲染像素矩阵;

区域边界模块,用于运用2d像素边界算法寻找渲染像素矩阵的区域边界;

边界分块模块,用于根据区域边界的封闭线段将渲染像素矩阵进行区域分块,将每个封闭线段区域作为可独立铺贴瓷砖的纹理铺贴区域;

颜色填充模块,用于使用预设颜色值对不相邻的纹理铺贴区域进行填充得到色彩铺贴拼花;

纹理填充模块,用于使用预设瓷砖纹理填充到不相邻的各个纹理铺贴区域中得到纹理铺贴拼花;

模板保存模块,用于保存色彩铺贴拼花和纹理铺贴拼花数据到服务器端作为一个拼花设计模板。

本公开的有益效果为:本公开提供一种自定义拼花方法及系统,通过一次性定义拼花模板数据后,只需要用户进行两步操作,就可以多次重复利用该拼花模板创建出无限多种结果。对比传统处理拼花方式而言,运用计算机算法技术,将多个需要手工处理的流程替换为自动识别处理,并在极短时间内完成,大大提高了处理效率。另一方面,对于拼花设计模板化处理后,可以针对不同设计需要搭配出无限多种纹理效果,多次重复利用,大大提高了设计效率。

附图说明

通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:

图1所示为本公开的一种自定义拼花方法工作流程图;

图2所示为本公开的拼花模板生成流程图;

图3所示为本公开的栅格化算法示意图;

图4所示为本公开的2d像素边界算法示意图;

图5所示为渲染像素矩阵进行区域分块的纹理铺贴区域示意图;

图6所示为本公开的一种自定义拼花系统模块架构图。

具体实施方式

以下将结合实施例和附图对本公开的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本公开的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

如图1所示为根据本公开的一种自定义拼花方法及系统工作流程图,图2所示为本公开的拼花模板生成流程图,图3所示为本公开的栅格化算法示意图,图4所示为本公开的2d像素边界算法示意图,图5所示为渲染像素矩阵进行区域分块的纹理铺贴区域示意图,下面结合图1、图2、图3、图4和图5来阐述根据本公开的一种自定义拼花方法。

本公开提出一种自定义拼花方法,如图1和图2所示,具体包括以下步骤:

步骤1,从本地计算机向服务器终端传输dwg格式文件;

步骤2,读取dwg格式文件中拼花形状信息的长度、宽度、反射系数;

步骤3,将dwg格式文件转化为图片格式文件并根据拼花形状信息的长度、宽度读取图片格式文件的2d像素矩阵数据;

步骤4,根据拼花形状信息的反射系数将2d像素矩阵数据进行渲染处理得到渲染像素矩阵;

步骤5,运用2d像素边界算法寻找渲染像素矩阵的区域边界;

步骤6,根据区域边界的封闭线段将渲染像素矩阵进行区域分块,将每个封闭线段区域作为可独立铺贴瓷砖的纹理铺贴区域;

步骤7,使用预设颜色值对不相邻的纹理铺贴区域进行填充得到色彩铺贴拼花;

步骤8,使用预设瓷砖纹理填充到不相邻的各个纹理铺贴区域中得到纹理铺贴拼花;

步骤9,保存色彩铺贴拼花和纹理铺贴拼花数据到服务器端作为一个拼花设计模板。

进一步地,在步骤1中,所述dwg格式文件包括有拼花形状尺寸信息,所述拼花形状尺寸信息包括拼花的长度、宽度、反射系数,dwg格式文件通过客户端从本地计算机向服务器终端传输。

进一步地,在步骤3中,所述图片格式文件包括bmp格式、jpeg格式、jpg格式、gif格式、png格式。

进一步地,在步骤3中,所述2d像素矩阵数据通过java_imageio类库、opencv类库其中一种类库获取。

进一步地,在步骤3中,所述将dwg格式文件转化为图片格式文件并根据拼花形状信息的长度、宽度读取图片格式文件的2d像素矩阵数据的方法为通过栅格化算法获取,如图3所示:

栅格化算法步骤为:在直线方程f(x,y)=a*x+b*y+c基础上定义公式:d=f(x+1,y+0.5)=a*(x+1)+b*(y+0.5)+c;

以斜率为正(0<m<1)举例:若d=0,表示直线恰好经过右上角和右边的点之间的中点,这时,取右上的点和右边的点均可。若d>0,取右上角的点,反之,取右边的点,在原来d的基础上增加一个取右边的点或取右上方的点可得到:

当取右边的点为:

dslope=f(x+2,y+0.5)-f(x+1,y+0.5)=a;

当取右上方的点为:

dslope=f(x+2,y+1.5)-f(x+1,y+0.5)=a+b;

在直线上,初始位置的下一个点的d:

在f(x0,y0)=0时,d=f(x0+1,y0+0.5)=a+b*0.5;

对d,dslope乘以2以避免0.5在程序中出现。

d=2*a+b;

dslope=2*a;

dslope=2*(a+b);

又由y=-c/b-a/b*x=>dy=a/b=>a=b*dy;

x=-c/a-b/a*y=>dx=-b/a=>b=-a*dx;

因为b以及-a都是常数略去不计,则有:

a=dy;

b=-dx;

d=2*dy-dx;

dslope=2*dy;

dslope=2*(dy-dx)。

进一步地,在步骤4中,所述根据拼花形状信息的反射系数将2d像素矩阵数据进行渲染处理得到渲染像素矩阵,为通过sketchup、3dsmax、maya其中任意一种的渲染插件。

进一步地,在步骤5中,所述运用2d像素边界算法寻找渲染像素矩阵的区域边界的方法为,图4所示为本公开的2d像素边界算法示意图,如图4所示,图4(a)为从2d像素矩阵的第一个像素的rgb值开始向右和图4(b)向下寻找写其不相同的rgb,图4(c)为标记为区域边界,图4(d)遍历完每一个区域边界后,图4(e)再从剩下像素找下一个区域边界,图4(f)一直到遍历完为止,记录下所有区域边界像素,如图5所示,最后得到渲染像素矩阵进行区域分块的纹理铺贴区域。

进一步地,在步骤7中,所述使用预设颜色值对不相邻的纹理铺贴区域进行填充得到色彩铺贴拼花的方法为,在相邻的纹理铺贴区域使用不同的预设颜色值填充,防止颜色混淆。

进一步地,在步骤8中,所述使用预设瓷砖纹理填充到不相邻的各个纹理铺贴区域中得到纹理铺贴拼花的方法为,在相邻的纹理铺贴区域使用不同的预设瓷砖纹理填充,防止纹理混淆。

进一步地,在步骤9中,所述保存色彩铺贴拼花和纹理铺贴拼花数据到服务器端的通信方法为,使用socket直接与服务器端进行通信,传输的内容采用简单的xml数据格式的协议,通过wifi、3g/4g网络,服务器端使用mysql数据库。

本发明还提供了一种自定义拼花系统,如图6所示,所述系统包括:

dwg文件传输模块,用于从本地计算机向服务器终端传输dwg格式文件;

拼花形状读取模块,用于读取dwg格式文件中拼花形状信息的长度、宽度、反射系数;

像素矩阵读取模块,用于将dwg格式文件转化为图片格式文件并根据拼花形状信息的长度、宽度读取图片格式文件的2d像素矩阵数据;

矩阵渲染模块,用于根据拼花形状信息的反射系数将2d像素矩阵数据进行渲染处理得到渲染像素矩阵;

区域边界模块,用于运用2d像素边界算法寻找渲染像素矩阵的区域边界;

边界分块模块,用于根据区域边界的封闭线段将渲染像素矩阵进行区域分块,将每个封闭线段区域作为可独立铺贴瓷砖的纹理铺贴区域;

颜色填充模块,用于使用预设颜色值对不相邻的纹理铺贴区域进行填充得到色彩铺贴拼花;

纹理填充模块,用于使用预设瓷砖纹理填充到不相邻的各个纹理铺贴区域中得到纹理铺贴拼花;

模板保存模块,用于保存色彩铺贴拼花和纹理铺贴拼花数据到服务器端作为一个拼花设计模板。

一种自定义拼花系统的第一种应用场景实施例,用户通过设计系统的网页端,获得拼花模板(已含一种预制纹理搭配组合),应用铺贴到空间地面/墙面中。

一种自定义拼花系统的第二种应用场景实施例,如果用户对纹理搭配效果并不满意,可以对拼花内的纹理搭配进行重新设计,而无需重新绘制拼花的形状区域,该纹理搭配的结果是无限多种的。

第一步,在已知的瓷砖纹理候选菜单中选出需要的瓷砖产品。

第二步,将已挑选出的瓷砖产品应用铺贴到拼花内指定区域,系统会即时生成出铺贴后的纹理效果。

用户通过多次重复第一和第二步操作,即可快速获得多种瓷砖纹理搭配的纹理效果,并将拼花应用铺贴到空间地面/墙面中。

进一步地,一种自定义拼花系统的第一种应用场景实施例中,用户通过打开终端设备支持的浏览器与所述一种自定义拼花系统进行通信,所述终端设备支持的浏览器至少包括ie内核浏览器、firefox内核浏览器、chrome内核浏览器中的一种,用户使用的终端设备为智能手机、平板电脑、台式电脑、智能穿戴设备中的一种,用户通过移动设备的操作系统支持的浏览器与所述系统进行通信,所述移动设备的操作系统至少包括安卓、ios中的一种,所述移动设备的操作系统支持的浏览器至少包括uc浏览器、qq浏览器、百度浏览器中的一种。

进一步地,所述系统使用在线可视化3d编辑功能,集群快速3d高质量效果图渲染。客户端架构使用html5,javascript,webgl,服务器端使用nodejs,mysql数据库。为适应快速编辑和渲染出图,客户端采用浏览器运行编辑器,不需要额外安装任何插件即可使用。

本系统创新性主要体验在:

(一)运用计算机栅格化算法和像素边界识别算法,优点在于,由计算机替代了人工操作,对dwg数据格式的拼花形状进行快速处理,完成了多个繁琐操作步骤,大大缩短了处理流程,只需2秒即可完成人工1-3小时的工作。

(二)将拼花线框形状转换为模板数据结构,并有效保存。优点在于,

1、使得拼花形状不需在每次应用时重新绘制,可以被重复使用。

2、只需2-3秒时间即可快速替换瓷砖纹理,查看实时铺贴效果。

所述一种自定义拼花系统可以运行于桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备中。所述一种自定义拼花系统可运行的系统可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述例子仅仅是一种自定义拼花系统的示例,并不构成对一种自定义拼花系统的限定,可以包括比例子更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种自定义拼花系统还可以包括输入输出设备、网络接入设备、总线等。所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种自定义拼花系统运行系统的控制中心,利用各种接口和线路连接整个一种自定义拼花系统可运行系统的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种自定义拼花系统的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

尽管本公开的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,而是应当将其视作是通过参考所附权利要求考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本公开的预定范围。此外,上文以发明人可预见的实施例对本公开进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本公开的非实质性改动仍可代表本公开的等效改动。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1