图像纹理合成
这个功能的需求来源于皮革模具加工。客户手中有皮革样本,通过扫描得到 bmp 图像文件,我们通常称之为样图。客户想通过所得到的小图像生成比较大的图像,我们通常把生成的图像称为目标图,如图 1。这种有样图到目标图的过程,就是纹理合成。
▲图 1 图像纹理合成
操作步骤:
1、 点击命令“艺术曲面->图像纹理->图像纹理合成”
导航页弹出如图 2 对话框。填写对话框中各参数。(参数意义后面有介绍。)
▲图 2 图像纹理导航对话框
▲图 3 进度对话框
2、 鼠标点选纹理样图
如果没有点中图像,左下角提示栏会一直提示“点选纹理样图”。如果点中图像,则在导航页对话框中显示样图横纵向象素的个数,如图 2。目前把样图大小限制在 500×500 以内。
3、 鼠标点选目标对象
要选取的目标对象是除样图之外的任何实体(如长方形)。如果没有点中目标对象,左下角提示栏一直提示“点选目标对象”。
如果点中目标对象,程序参考目标对象,计算目标图大小和位置,并且在导航页对话框中显示即将生成的目标图横纵向象素的个数,如图 2。在点选目标对象以前,点击鼠标的右键可以取消命令;
在点选目标对象以后,程序会弹出进度对话框如图 3,表示计算进程,用户可以点击进度对话框的“取消”按钮以取消命令。命令执行完成,将在目标对象位置生成一张纹理图。
参数定义:
块大小系数:
本命令是采用块填充纹理合成方法。块大小就是填写目标图所用的块的大小相对于样图大小的比例。
边界宽度系数就是边界宽度相对于块大小的比例。
两个系数对生成的目标图的影响是怎样的呢?如图 4(a)这样一张样图,在块大小系数为0,边界宽度系数为 0 时,生成图片如图 4(b).。图 4(b)中的纹理相对样图比较紊乱。
而把块大小系数设置为 1,边界宽度系数设置为 1 时,生成图片如图 4(c),图 4(c)的效果好一点了。两个系数越大,计算速度越慢,所需内存也越多。
一般来说,块大小系数与样图中的纹理单元的大小有关,一般取纹理单元和纹理样图大小的比例。边界宽度系数的大小决定着目标图和样图的相像程度。边界系数小,相像程度就低一点;边界系数大,相像程度就高一点。总之,不同组合的参数,能生成不一样的目标图。
▲图 4 块大小系数和宽度系数对生成目标图的影响
可平铺:
表示将要生成的目标图左边和右边,上边和下边是连贯的。如果图像纹理合成选择该项,则用生成的图像平铺,没有明显的接痕。如果矩形网格纹理合成选择该项,则利用生成的模型制作的路径进行阵列加工而没有接痕。
磨光:
对于矩形网格纹理合成,有可能在目标图中填写的块的边缘会出现不连续的情况。在边缘出进行磨光处理便可消除或者减轻。又由于边缘数量多,所以软件里设置了自动磨光处理。
自动处理是这样的,在边缘左右两边的都进行力量为 1 的磨光处理,左右两边的宽度就是用户指定的“磨光带宽度”,一般来说这个值取得比较小,软件规定是 1 到 10。
磨光处理并不是对所有的纹理都好。比如砖块纹理,要求砖块的棱角和边非常的清晰,如果磨光处理,棱角边缘变得模糊。
例子:
样图总体比较均衡,类似的纹理在样图中多次出现,这样生成目标图于样图比较相像了。例子如图 5 至图 9。
▲图 5 纹理合成例子
▲图 6 纹理合成例子
▲图 7 纹理合成例子
▲图 8 纹理合成例子
▲图 纹理合成例子