基于多样图的纹理转移方法技术

技术编号:2949273 阅读:169 留言:0更新日期:2012-04-11 18:40
本发明专利技术是基于多样图的纹理转移方法。该方法首先在用户参与下对目标图像用户给定的亮度值划分成若干级;然后,用基于块的方法,针对不同的亮度级采用不同的纹理样图进行纹理合成;最后,对于已经合成的块,计算每个纹理块的亮度差异,如果大于用户输入的阀值,则把该块细分成小块,直至细分的块中亮度差异小于用户输入的阀值为止。对于这些细分的块,采用L形邻域搜索方法进行纹理合成。本发明专利技术的特点是纹理合成由粗到细,纹理转移速度快,并且用户可以控制整个过程,实现了根据已知纹理图像生成新纹理图像的目的。

【技术实现步骤摘要】

本专利技术属于计算机虚拟现实
,具体地说是一种利用已有纹理图像生成新纹理图像的方法,用于真实感虚拟环境的构造和绘制。
技术介绍
在现实世界中,物体表面有十分丰富的纹理细节,依据它们人们可以区分各种具有相同形状的不同物体,因而物体表面纹理细节的模拟在真实感图形绘制技术中起着非常重要的作用。如何在计算机生成的图形中有效地表现这些纹理细节,一直是计算机图形学以及虚拟环境的构造和绘制技术中研究的热点问题。在计算机生成的物体上模拟纹理细节主要有两个方法。一个是用多边形或其他几何原语对表面细节进行建模,但是当细节很细致、很复杂时,这种方法很不实用;另一个是把图像映射到对象的表面上,这种技术称作纹理映射(texture mapping)。用于纹理映射的图像通常是矩形,称作纹理图(texture map)或纹理(texture)。纹理可以模拟各种表面属性,如颜色、反射(reflection)、透明等。自Catmull在二十世纪七十年代首次采用纹理映射技术模拟物体表面的纹理细节以来,纹理映射技术得到了广泛的研究和应用。在计算机图形学中,纹理映射技术取得很大的成功,但也存在三个严重问题第一,纹理来源比较单一。目前的纹理主要还是通过手工绘制图画和扫描的照片获得。手工绘制的图画可以满足艺术上的需要,但是很难像照片一样真实;而照片作为纹理,通常很小,不能覆盖整个物体表面。此时,简单的粘贴在视觉上会引起人造的痕迹。第二,从纹理空间到自然空间没有自然的映射,因而映射时纹理会产生严重的变形。第三,纹理映射占用大量的内存和带宽。为此,人们提出了纹理合成技术。运用纹理合成技术生成的纹理可以是任意大小、视觉上不重复的图案。通过适当地处理边界条件,纹理合成还能够生成可粘贴的图像。纹理合成的目标是合成的新纹理在视觉上使人们觉得是用与原有纹理相同的基本过程生成的。纹理合成有两种方式一种是根据模型生成纹理;另一种是根据已有的纹理图像(也称作纹理样图)生成新的纹理。纹理合成要解决两个问题一是建模,如何从给定的有限纹理样图中估计纹理生成过程。估计的过程既要能建模输入纹理的过程部分,又要能建模随机部分。建模的成功与否是由合成纹理相对于给定样图在视觉上的逼真性决定的。二是采样,如何开发有效的采样过程从给定模型生成新的纹理。采样过程的有效性将直接决定纹理生成的计算量。Wei提出L形邻域搜索的方法,采用多分辨率合成方法减小搜索范围,并用树状结构的矢量量化技术进行加速。Ashikhmin利用相关性原理改进了Wei方法,把搜索范围限制在当前的邻域,从而提高了搜索速度。基于L形纹理合成方法是根据已经合成的区域,在样图中寻找相似度最大的种子进行合成。下面具体说明两个形状相同的邻域N1,N2的相似度用下式进行衡量,即d(N1,N2)=Σp∈N1,q∈N2(R(p)-R(q))2+(G(p)-G(q))2+(B(p)-B(q))2]]>式中d值越小表明两个邻域越相似。其中,函数R( ),G( )和B( )分别表示邻域中像素的R(红色)、G(绿色)和B(蓝色)值;p和q分别是邻域N1和N2中对应的像素。因此,邻域的形状和搜索顺序十分重要,它直接影响纹理局部匹配的结果。Ashikhmin利用了相关性原理把搜索范围限制在当前的邻域,从而提高了搜索速度,如图2。根据L形邻域种子在输入图像中的对应位置(图2中箭头所指的种子),利用相应的偏移找到待选种子。例如,输出图像中当前要合成的种子P的右上角邻点为Q,Q在输入图像中的匹配种子是Q1,以图像左上角为原点建立坐标系,x轴正方向水平向右,y轴正方向垂直向下,这样种子P与Q在水平方向x上相差-1,在垂直方向y上相差1,则有P=Q+(-1,1),这样,待选种子Q1由Q2+(-1,1)获得。由此计算所有待选种子。在图2中黑色点是所计算出的待选种子,比较各个待选种子与当前种子P的L形邻域的相似度,按照(公式1)计算相似度,选择d值最小的种子作为当前种子的对应种子。基于L形纹理合成算法如下(1)记录缓存中种子位置在输入图像中的位置。(2)对于输出图像中的每个种子,按扫描顺序进行如下计算●在输出图像中,考虑指定大小的当前种子的L形邻域,如图2;●对邻域中的每个种子,根据在缓存中最初的种子位置,偏移相应位置后找出候选种子;●清除重复的候选种子;●在候选种子列表中选取与输出图像当前种子的L形邻域误差最小的种子;●将所选种子的值从输入图像拷贝到输出图像当前种子,并在缓存中记录其最初的位置。Xu、Liang和Efros采用基于块(patch)的技术,特点是纹理合成速度快,特别是Liang实现了实时合成纹理。下面说明基于块的纹理合成方法。为方便叙述,先对该方法中所用到的符号及其含义说明如下Iin输入的采样纹理Iout合成的纹理BkIin中的纹理块,用于粘贴到Iout中,采用正方形WBBk的宽度EBkBk与Iout中已经合成的纹理进行融合的宽度 EoutkIout中已经粘贴的块的边界区域WEEoutk的宽度B(x,y)Iin中左下角在(x,y)的纹理块ΨB集合,包括Iin与Eoutk匹配的所有纹理块的边界区域令IR1和IR2是两个有相同形状和大小的纹理块。定义如果d(R1,R2)<δ则称IR1和IR2匹配。这里d( )表示两个纹理块之间的距离,δ是个常数。基于块的采样算法通过经验直方图,用非参数形式估计局部条件的MRF(FRAME或Gibbs)密度p(IR|IR)。定义纹理块IR的边界区域为R,其宽度为wE。当在边界区域上的纹理IR已知时,可以估计未知纹理块IR的条件概率分布。不必构造模型,对于所有已经知道IR为其边界区域的块,直接查询所有输入纹理样图Iin。查询结果对纹理块IR形成一个经验的直方图Ψ。为了合成IR,只要从Ψ中任意选择一个元素。数学上,估计的条件MRF密度是p(IR|I∂R)=Σiαiδ(IR-IRi),]]>这里IRi是IR的一个采样块,其边界区域IRi匹配边界区域IR。规范化权值αi,类似于比例系数。对于任意的合成纹理Iout,构造集合ΨBΨB={B(x,y)|d(EB(x,y),Eoutk)<dmax,B(x,y)∈Iin}]]>这里,dmax是边界区域的距离容忍度。从ΨB中任意选择一块纹理作为第k个粘贴的纹理块。对于给定的dmax,集合ΨB可能是空的。此时,选择具有最小距离d(EBk,Eoutk)的Bk作为Iin中的纹理块。基于块的纹理合成过程如图3所示。具体算法如下(1)任意从Iin中选择wB×wB的纹理块B0,把B0粘贴到Iout的左下角,设k=1;(2)构造Iin的所有纹理块集合ΨB,其边界区域匹配Eoutk。(3)如果ΨB为空,设ΨB={Bmin},其中,Bmin表示边界最靠近Eoutk的区域。(4)从集合ΨB任意选择一个元素作为第k个纹理块Bk。把Bk粘贴到输出纹理Iout中。设k=k+1;(5)重复(2),(3)和(4),直到Iout完全覆盖为止。在边界区域上进本文档来自技高网...

【技术保护点】
一种基于多样图的纹理转移方法,其特征在于它包括以下步骤:    (1)进行初步纹理转移    将目标图像细分成图像块,根据目标图像的亮度确定n-1个亮度分级阈值,根据这些阈值将图像块按亮度级归纳成n级,对n级图像块分别使用不同的n个纹理图样,采用基于块的方法对各图像块进行纹理合成而得到各纹理块,从而实现初步纹理转移;    (2)按亮度差细分纹理块    对于每个纹理块,计算其最大亮度值与最小亮度值的差,如果小于规定的阈值,则保持该纹理块,否则把该纹理块细分,再对细分后的纹理块进行亮度差的比较,如此反复,直至各纹理块的亮度差均小于规定的阈值为止;    (3)纹理合成    对于上述亮度差小于规定阈值的纹理块,根据其亮度级,使用对应的纹理样图,采用基于L形纹理合成方法进行纹理合成。

【技术特征摘要】

【专利技术属性】
技术研发人员:齐越赵沁平
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1