CN109829968B - 法线纹理图的生成方法、装置、存储介质及电子设备 - Google Patents
法线纹理图的生成方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN109829968B CN109829968B CN201811559447.7A CN201811559447A CN109829968B CN 109829968 B CN109829968 B CN 109829968B CN 201811559447 A CN201811559447 A CN 201811559447A CN 109829968 B CN109829968 B CN 109829968B
- Authority
- CN
- China
- Prior art keywords
- vector
- pixel point
- pixel
- axis
- preset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Image Generation (AREA)
Abstract
本公开涉及一种法线纹理图的生成方法、装置、存储介质及电子设备,以减少法线纹理图生成过程中的计算量,从而更加快速地获得法线纹理图。该方法包括:针对原始图像上的每一个像素点,确定位于所述像素点不同方向上的第一像素点和第二像素点;根据所述第一像素点和所述像素点确定第一向量,并根据所述第二像素点和所述像素点确定第二向量;确定与所述第一向量和所述第二向量组成的平面相垂直的法向量;将所述法向量的坐标作为所述像素点的RGB值,生成所述原始图像对应的法线纹理图。
Description
技术领域
本公开涉及图像处理技术领域,具体地,涉及一种法线纹理图的生成方法、装置、存储介质及电子设备。
背景技术
在进行图像渲染时,如果图像中物体表面存在凹凸感,那么可以通过法线纹理图实现物体表面法线的扰动,从而通过影响物体表面光照的反射,模拟出物体表面的凹凸感。
现有技术中,主要通过以下两种方式获得法线纹理图:
第一种方式是通过Photoshop软件人工绘制法线纹理图。在图像中物体存在较多凹凸位置的情况下,人工绘制法线纹理图的方式会耗费大量人力和时间,效率不高。
第二种方式是采用sobel边缘检测算子检测图像中存在凹凸的位置边缘,然后对检测到的位置边缘包括的像素点进行计算,以模拟凹凸感。在这种方式中,每次需要读取目标像素点周围8个像素点进行矩阵计算和卷积计算,计算量较大。
发明内容
本公开的目的是提供一种法线纹理图的生成方法、装置、存储介质及电子设备,以减少法线纹理图生成过程中的计算量,从而更加快速地获得法线纹理图。
为了实现上述目的,第一方面,本公开提供一种法线纹理图的生成方法,所述方法包括:
针对原始图像上的每一个像素点,确定位于所述像素点不同方向上的第一像素点和第二像素点;
根据所述第一像素点和所述像素点确定第一向量,并根据所述第二像素点和所述像素点确定第二向量;
确定与所述第一向量和所述第二向量组成的平面相垂直的法向量;
将所述法向量的坐标作为所述像素点的RGB值,生成所述原始图像对应的法线纹理图。
可选地,所述确定与所述第一向量和所述第二向量组成的平面相垂直的法向量,包括:
将所述第一向量和所述第二向量进行叉乘计算,得到与所述第一向量和所述第二向量组成的平面相垂直的法向量。
可选地,所述根据所述第一像素点和所述像素点确定第一向量,并根据所述第二像素点和所述像素点确定第二向量,包括:
确定所述第一像素点与所述像素点间的第一像素差值,并确定所述第二像素点与所述像素点间的第二像素差值;
根据预设参数与所述第一像素差值在预设三维坐标系的X轴与Z轴组成的平面中确定所述第一向量,并根据所述预设参数与所述第二像素差值在所述预设三维坐标系的Y轴与Z轴组成的平面中确定所述第二向量。
可选地,所述方法还包括:
根据预设放大系数,对所述第一像素差值和所述第二像素差值进行放大处理;
根据预设参数与所述第一像素差值在所述预设三维坐标系的X轴与Z轴组成的平面中确定第一向量,并根据所述预设参数与所述第二像素差值在所述预设三维坐标系的Y轴与Z轴组成的平面中确定第二向量,包括:
根据所述预设参数与所述放大后的第一像素差值在所述预设三维坐标系的X轴与Z轴组成的平面中确定所述第一向量,并根据所述预设参数与所述放大后的第二像素差值在所述预设三维坐标系的Y轴与Z轴组成的平面中确定所述第二向量。
可选地,所述方法还包括:
将所述原始图像转换为灰度图;
针对原始图像上的每一个像素点,确定位于所述像素点不同方向上的第一像素点和第二像素点,包括:
针对所述灰度图上的每一个像素点,确定位于所述像素点不同方向上的第一像素点和第二像素点。
可选地,所述将所述法向量的坐标作为所述像素点的RGB值,生成所述原始图像对应的法线纹理图,包括:
对所述法向量的坐标进行归一化处理;
将所述法向量归一化处理后的坐标作为所述像素点的RGB值,生成所述原始图像对应的法线纹理图。
第二方面,本公开还提供一种法线纹理图的生成装置,所述装置包括:
第一确定模块,用于针对原始图像上的每一个像素点,确定位于所述像素点不同方向上的第一像素点和第二像素点;
第二确定模块,用于根据所述第一像素点和所述像素点确定第一向量,并根据所述第二像素点和所述像素点确定第二向量;
第三确定模块,用于确定与所述第一向量和所述第二向量组成的平面相垂直的法向量;
生成模块,用于将所述法向量的坐标作为所述像素点的RGB值,生成所述原始图像对应的法线纹理图。
可选地,所述第三确定模块用于:
将所述第一向量和所述第二向量进行叉乘计算,得到与所述第一向量和所述第二向量组成的平面相垂直的法向量。
可选地,所述第二确定模块用于:
确定所述第一像素点与所述像素点间的第一像素差值,并确定所述第二像素点与所述像素点间的第二像素差值;
根据预设参数与所述第一像素差值在预设三维坐标系的X轴与Z轴组成的平面中确定所述第一向量,并根据所述预设参数与所述第二像素差值在所述预设三维坐标系的Y轴与Z轴组成的平面中确定所述第二向量。
可选地,所述装置还包括:
放大模块,用于根据预设放大系数,对所述第一像素差值和所述第二像素差值进行放大处理;
所述第二确定模块用于:
根据所述预设参数与所述放大后的第一像素差值在所述预设三维坐标系的X轴与Z轴组成的平面中确定所述第一向量,并根据所述预设参数与所述放大后的第二像素差值在所述预设三维坐标系的Y轴与Z轴组成的平面中确定所述第二向量。
可选地,所述装置还包括:
转换模块,用于将所述原始图像转换为灰度图;
所述第一确定模块用于:
针对所述灰度图上的每一个像素点,确定位于所述像素点不同方向上的第一像素点和第二像素点。
可选地,所述生成模块用于:
对所述法向量的坐标进行归一化处理;
将所述法向量归一化处理后的坐标作为所述像素点的RGB值,生成所述原始图像对应的法线纹理图。
第三方面,本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面里任一项所述方法的步骤。
第四方面,本公开还提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面里任一项所述方法的步骤。
通过上述技术方案,可以对原始图像上的每一个像素点,先确定位于该像素点不同方向上的第一像素点和第二像素点,接着根据第一像素点和像素点确定第一向量,并根据第二像素点和像素点确定第二向量,然后将与第一向量和第二向量组成的平面相垂直的法向量的坐标作为该像素点的RGB值,从而生成原始图像对应的法线纹理图。也就是说,本公开的法线纹理图生成方法可以根据目标像素点周围的两个像素点进行计算,从而生成法线纹理图,减少了法线纹理图生成过程中的计算量,可以更加快速地获得法线纹理图。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据本公开一示例性实施例示出的一种原始图像和法线纹理图的示意图;
图2是根据本公开一示例性实施例示出的一种法线纹理图的生成方法的流程图;
图3是根据本公开一示例性实施例示出的一种法线纹理图的生成方法中第一向量、第二向量与法向量的示意图;
图4是根据本公开另一示例性实施例示出的一种法线纹理图的生成方法的流程图;
图5是根据本公开一示例性实施例示出的一种法线纹理图的生成装置的框图;
图6是根据本公开一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
在进行图像渲染时,如果图像中物体表面存在凹凸感,那么可以通过法线纹理图实现物体表面法线的扰动,从而通过影响物体表面光照的反射,模拟出物体表面的凹凸感。也就是说,可以通过生成原始图像对应的法线纹理图模拟出原始图像中物体表面的凹凸感。比如,参照图1,图1左边所示为原始图像,该原始图像中实际表面具有凹凸感的物体表面光滑,并未呈现出凹凸感,而图1右边所示为根据图1左边所示的原始图像生成的法线纹理图,该法线纹理图中物体表面具有凹凸感。
相关技术中,生成法线纹理图主要是人工通过Photoshop软件绘制法线纹理图或采用sobel边缘检测算子检测图像中存在凹凸的位置边缘,然后对检测到的位置边缘包括的像素点进行计算。人工绘制的方式耗费人力和时间,效率不高。而采用sobel边缘检测算子的方式,需要读取目标像素点周围8个像素点进行矩阵计算和卷积计算,计算量较大。
因此,为了解决上述技术问题,本公开提出一种法线纹理图的生成方法、装置、存储介质及电子设备,以减少法线纹理图生成过程中的计算量,提高获得法线纹理图的效率。
图2是根据本公开一示例性实施例示出的一种法线纹理图的生成方法的流程图。参照图2,该方法包括以下步骤:
步骤S201,针对原始图像上的每一个像素点,确定位于所述像素点不同方向上的第一像素点和第二像素点。
步骤S202,根据所述第一像素点和所述像素点确定第一向量,并根据所述第二像素点和所述像素点确定第二向量。
步骤S203,确定与所述第一向量和所述第二向量组成的平面相垂直的法向量。
步骤S204,将所述法向量的坐标作为所述像素点的RGB值,生成所述原始图像对应的法线纹理图。
也就是说,通过本公开的法线纹理图的生成方法,可以根据目标像素点周围的两个像素点进行计算,生成法线纹理图,减少了法线纹理图生成过程中的计算量,从而可以更加快速地获得法线纹理图。
示例地,在步骤S201中,原始图像可以是640×480像素的图像,或者可以是600×800像素的图像,等等,本公开实施例对此不作限定。
示例地,步骤S201中确定位于像素点不同方向上的第一像素点和第二像素点可以是确定分别位于像素点右方和上方,且与该像素点距离最近的两个像素点,或者也可以是确定分别位于像素点左方和下方,且与该像素点距离最近的两个像素点,等等,本公开实施例对此不作限定。但是,应当理解的是,在本公开实施例中,该像素点与该像素点对应的第一像素点、第二像素点应当不在同一直线上,从而可以根据这三点唯一确定一个平面,最终根据垂直于该平面的法向量生成法线纹理图。
在本公开实施例中,对于原始图像上的任一像素点,如果与其对应的第一像素点和第二像素点位于原始图像中物体表面的凹凸边缘上,那么第一像素点与该像素点的像素差值、以及第二像素点与该像素点的像素差值较大,而如果与其对应的第一像素点和第二像素点没有位于原始图像中物体表面的凹凸边缘上,那么第一像素点与该像素点的像素差值、以及第二像素点与该像素点的像素差值趋近于0。
因此,在一种可能的方式中,步骤S202可以是先确定所述第一像素点与所述像素点间的第一像素差值,并确定所述第二像素点与所述像素点间的第二像素差值,然后根据预设参数与所述第一像素差值在预设三维坐标系的X轴与Z轴组成的平面中确定所述第一向量,并根据所述预设参数与所述第二像素差值在所述预设三维坐标系的Y轴与Z轴组成的平面中确定所述第二向量。
示例地,预设参数可以是根据实际情况设定的,比如,可以将预设参数设定为单位向量的值,即可以将预设参数设定为1,等等,本公开对于预设参数的设定不作限定。
示例地,预设三维坐标系可以是以该像素点为原点进行建立的,等等,本公开实施例对于预设三维坐标系的具体建立过程不作限定,只要预设三维坐标系的X轴与Y轴在原始图像上即可。
例如,确定了第一像素差值为z1,第二像素差值为z2,预设参数为1,预设三维坐标是以该像素点为原点进行建立的,那么第一向量可以表示为(1,0,z1),第二向量可以表示为(0,1,z2)。其中,应当理解的是,由于第一向量是根据预设参数与第一像素差值在预设三维坐标系的X轴与Z轴组成的平面中确定的,因此,第一向量的坐标值中Y值为0。同样地,由于第二向量是根据预设参数与第二像素差值在预设三维坐标系的Y轴与Z轴组成的平面中确定的,因此,第二向量的坐标值中X值为0。
需要说明的是,本公开实施例对于确定第一像素差值和第二像素差值的先后顺序不作限定,比如,可以是在确定第一像素差值后再确定第二像素差值。当然,在其他可能的方式中,也可以是在确定第二像素差值后再确定第一像素差值,或者还可以是同时确定第一像素差值和第二像素差值。同样地,本公开实施例对于确定第一向量和第二向量的先后顺序也不作限定。
通过上述方式,可以在预设三维坐标系的X轴与Z轴组成的平面中确定第一向量,并在预设三维坐标系的Y轴与Z轴组成的平面中确定第二向量。由于第一向量和第二向量均不是正好位于X轴或Y轴,因此,最终根据第一向量和第二向量确定的法向量会与Z轴存在一定角度偏差,从而实现了法线的扰动,可以模拟出图像中物体表面的凹凸感。
在另一种可能的方式中,还可以先根据预设放大系数,对第一像素差值与第二像素差值进行放大处理,然后根据预设参数与放大后的第一像素差值在预设三维坐标系的X轴与Z轴组成的平面中确定第一向量,并根据预设参数与放大后的第二像素差值在预设三维坐标系的Y轴与Z轴组成的平面中确定第二向量。
示例地,预设放大系数可以是根据实际情况设定的,比如,可以将预设放大系数设定为2,则表明将第一像素差值和第二像素差值放大2倍,或者也可以将预设放大系数设定为4,则表明将第一像素差值和第二像素差值放大4倍,等等,本公开实施例对于预设放大系数的具体设定不作限定。
应当理解的是,预设放大系数越大,则表明最终得到的法向量与预设三维坐标系中Z轴间的角度偏差越大,生成的法线纹理图中法线扰动的强度越大,从而通过该法线纹理图模拟出的凹凸感会更加明显。相反,预设放大系数越小,则表明最终得到的法向量与预设三维坐标系中Z轴间的角度偏差越小,生成的法线纹理图中法线扰动的强度越小,从而通过该法线纹理图模拟出的凹凸感会越不明显。
另外,在一种可能的方式中,还可以通过不同的预设放大系数对第一像素差值和第二像素差值进行放大处理,比如,可以通过设定为2的预设放大系数对第一像素差值进行放大处理,然后通过设定为3的预设放大系数对第二像素差值进行放大处理,等等。
通过上述的方式,可以通过放大系数对第一像素差值和第二像素差值进行放大处理,增加最终得到的法向量与预设三维坐标系中Z轴间的角度偏差,从而增加法线纹理图中法线扰动的强度,使得通过法线纹理图模拟出的凹凸感更加明显。
在一种可能的方式中,还可以将原始图像转换为灰度图,那么相应地,步骤S101可以是针对灰度图上的每一个像素点,确定位于该像素点不同方向上的第一像素点和第二像素点。进一步,在确定第一像素差值时,可以是确定第一像素点与该像素点间的灰度差值。同样地,在确定第二像素差值时,可以是确定第二像素点与该像素点间的灰度差值。
应当理解的是,在灰度图中,由于像素点的RGB值中R值、G值和B值均相等,即,像素点的RGB值可以表示为形如(a,a,a)的数值,因此,可以任意选择R值、G值和B值中的任一值表示像素点的灰度,方便灵活地计算出第一像素差值和第二像素差值,从而更加快速地获取法线纹理图。
在根据上述方式确定第一向量和第二向量之后,可以确定与第一向量和第二向量组成的平面相垂直的法向量。在一种可能的方式中,可以是将第一向量和第二向量进行叉乘计算,得到与第一向量和第二向量组成的平面相垂直的法向量。
示例地,参照图3,第一向量为第二向量为/>且第一向量/>与第二向量/>间的夹角为θ,将第一向量/>与第二向量/>进行叉乘计算,可以得到法向量/>其中,法向量/>的方向与第一向量/>和第二向量/>组成的平面相垂直,而法向量/>的大小可以通过以下向量叉乘的计算公式确定:
通过上述的方式,可以通过第一向量和第二向量进行叉乘计算的方式,确定法向量,计算量较少,从而可以更加快速地获得法线纹理图。
针对原始图像中的每一像素点,在得到法向量之后,可以将该法向量的坐标作为该像素点的RGB值,生成原始图像对应的法线纹理图。在一种可能的方式中,还可以对法向量的坐标进行归一化处理,然后将法向量归一化处理后的坐标作为该像素点的RGB值,生成原始图像对应的法线纹理图。
示例地,归一化处理可以是将法向量的坐标同时缩小相同的倍数,使得法向量坐标中的X值、Y值和Z值都位于0~1的数值范围内,从而实现对像素点RGB值的规范化数据存储,提高法线纹理图的生成效率。
下面通过一个完整的实施例对本公开中法线纹理图的生成方法进行说明。
参照图4,该法线纹理图的生成方法可以包括以下步骤:
步骤S401,将原始图像转换为灰度图像。
步骤S402,针对所述灰度图像中的每一个像素点,确定位于该像素点不同方向上的第一像素点和第二像素点。
步骤S403,确定第一像素点与该像素点间的第一灰度差值,并确定第二像素点与该像素点间的第二灰度差值。
步骤S404,根据预设放大系数,对第一灰度差值和第二灰度差值进行放大处理。
步骤S405,根据预设参数与放大后的第一灰度差值在预设三维坐标系的X轴与Z轴组成的平面中确定第一向量,并根据预设参数与放大后的第二灰度差值在预设三维坐标系的Y轴与Z轴组成的平面中确定第二向量。
步骤S406,将第一向量和第二向量进行叉乘计算,得到与第一向量和第二向量组成的平面相垂直的法向量。
步骤S407,对法向量的坐标进行归一化处理。
步骤S408,将法向量归一化处理后的坐标作为该像素点的RGB值,生成原始图像对应的法线纹理图。
上述各步骤的具体实现方式已在上文进行详细描述,这里不再赘述。
通过上述法线纹理图的生成方法,可以根据目标像素点周围的两个像素点进行计算,从而生成法线纹理图,减少了法线纹理图生成过程中的计算量,可以更加快速地获得法线纹理图。
基于同一发明构思,参照图5,本公开还提供一种法线纹理图的生成装置500,可以包括以下模块:
第一确定模块501,用于针对原始图像上的每一个像素点,确定位于所述像素点不同方向上的第一像素点和第二像素点;
第二确定模块502,用于根据所述第一像素点和所述像素点确定第一向量,并根据所述第二像素点和所述像素点确定第二向量;
第三确定模块503,用于确定与所述第一向量和所述第二向量组成的平面相垂直的法向量;
生成模块504,用于将所述法向量的坐标作为所述像素点的RGB值,生成所述原始图像对应的法线纹理图。
可选地,所述第三确定模块503用于:
将所述第一向量和所述第二向量进行叉乘计算,得到与所述第一向量和所述第二向量组成的平面相垂直的法向量。
可选地,所述第二确定模块502用于:
确定所述第一像素点与所述像素点间的第一像素差值,并确定所述第二像素点与所述像素点间的第二像素差值;
根据预设参数与所述第一像素差值在预设三维坐标系的X轴与Z轴组成的平面中确定所述第一向量,并根据所述预设参数与所述第二像素差值在所述预设三维坐标系的Y轴与Z轴组成的平面中确定所述第二向量。
可选地,所述装置500还包括:
放大模块,用于根据预设放大系数,对所述第一像素差值和所述第二像素差值进行放大处理;
所述第二确定模块502用于:
根据所述预设参数与所述放大后的第一像素差值在所述预设三维坐标系的X轴与Z轴组成的平面中确定所述第一向量,并根据所述预设参数与所述放大后的第二像素差值在所述预设三维坐标系的Y轴与Z轴组成的平面中确定所述第二向量。
可选地,所述装置500还包括:
转换模块,用于将所述原始图像转换为灰度图;
所述第一确定模块501用于:
针对所述灰度图上的每一个像素点,确定位于所述像素点不同方向上的第一像素点和第二像素点。
可选地,所述生成模块504用于:
对所述法向量的坐标进行归一化处理;
将所述法向量归一化处理后的坐标作为所述像素点的RGB值,生成所述原始图像对应的法线纹理图。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
通过上述任一法线纹理图的生成装置,可以根据目标像素点周围的两个像素点进行计算,从而生成法线纹理图,减少了法线纹理图生成过程中的计算量,可以更加快速地获得法线纹理图。
基于同一发明构思,本公开还提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述任一法线纹理图的生成方法的步骤。
在一种可能的方式中,该电子设备的框图可以如图6所示。参照图6,该电子设备600可以包括:处理器601,存储器602。该电子设备600还可以包括多媒体组件603,输入/输出(I/O)接口604,以及通信组件605中的一者或多者。
其中,处理器601用于控制该电子设备600的整体操作,以完成上述的法线纹理图的生成方法中的全部或部分步骤。存储器602用于存储各种类型的数据以支持在该电子设备600的操作,这些数据例如可以包括用于在该电子设备600上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如第一向量、第二向量、法向量的坐标等等。
该存储器602可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-OnlyMemory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
多媒体组件603可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器602或通过通信组件605发送。音频组件还包括至少一个扬声器,用于输出音频信号。
I/O接口604为处理器601和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。
通信组件605用于该电子设备600与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件607可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的法线纹理图的生成方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的法线纹理图的生成方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器602,上述程序指令可由电子设备600的处理器601执行以完成上述的法线纹理图的生成方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (9)
1.一种法线纹理图的生成方法,其特征在于,所述方法包括:
针对原始图像上的每一个像素点,确定位于所述像素点不同方向上的第一像素点和第二像素点,且所述像素点与所述像素点对应的第一像素点、第二像素点不在同一直线上;
确定所述第一像素点与所述像素点间的第一像素差值,并确定所述第二像素点与所述像素点间的第二像素差值;
根据预设参数与所述第一像素差值在预设三维坐标系的X轴与Z轴组成的平面中确定第一向量,并根据所述预设参数与所述第二像素差值在所述预设三维坐标系的Y轴与Z轴组成的平面中确定第二向量,所述预设参数用于表征所述第一向量在所述预设三维坐标系X轴上的位置坐标,以及所述第二向量在所述预设三维坐标系Y轴上的位置坐标,所述第一像素差值用于表征所述第一向量在所述预设三维坐标系Z轴上的位置坐标,所述第二像素差值用于表征所述第二向量在所述预设三维坐标系Z轴上的位置坐标;
确定与所述第一向量和所述第二向量组成的平面相垂直的法向量;
将所述法向量的坐标值作为所述像素点的RGB值,生成所述原始图像对应的法线纹理图,所述法向量的坐标值由X值、Y值和Z值组成。
2.根据权利要求1所述的方法,其特征在于,所述确定与所述第一向量和所述第二向量组成的平面相垂直的法向量,包括:
将所述第一向量和所述第二向量进行叉乘计算,得到与所述第一向量和所述第二向量组成的平面相垂直的法向量。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据预设放大系数,对所述第一像素差值和所述第二像素差值进行放大处理;
根据预设参数与所述第一像素差值在所述预设三维坐标系的X轴与Z轴组成的平面中确定第一向量,并根据所述预设参数与所述第二像素差值在所述预设三维坐标系的Y轴与Z轴组成的平面中确定第二向量,包括:
根据所述预设参数与所述放大处理后的第一像素差值在所述预设三维坐标系的X轴与Z轴组成的平面中确定所述第一向量,并根据所述预设参数与所述放大处理后的第二像素差值在所述预设三维坐标系的Y轴与Z轴组成的平面中确定所述第二向量,所述放大处理后的第一像素差值用于表征所述第一向量在所述预设三维坐标系Z轴上的位置坐标,所述放大处理后的第二像素差值用于表征所述第二向量在所述预设三维坐标系Z轴上的位置坐标。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
将所述原始图像转换为灰度图;
针对原始图像上的每一个像素点,确定位于所述像素点不同方向上的第一像素点和第二像素点,包括:
针对所述灰度图上的每一个像素点,确定位于所述像素点不同方向上的第一像素点和第二像素点。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述将所述法向量的坐标值作为所述像素点的RGB值,生成所述原始图像对应的法线纹理图,包括:
对所述法向量的坐标值进行归一化处理;
将所述法向量归一化处理后的坐标值作为所述像素点的RGB值,生成所述原始图像对应的法线纹理图,所述法向量归一化处理后的坐标值由X值、Y值和Z值组成。
6.一种法线纹理图的生成装置,其特征在于,所述装置包括:
第一确定模块,用于针对原始图像上的每一个像素点,确定位于所述像素点不同方向上的第一像素点和第二像素点,且所述像素点与所述像素点对应的第一像素点、第二像素点不在同一直线上;
第二确定模块,用于确定所述第一像素点与所述像素点间的第一像素差值,并确定所述第二像素点与所述像素点间的第二像素差值;根据预设参数与所述第一像素差值在预设三维坐标系的X轴与Z轴组成的平面中确定第一向量,并根据所述预设参数与所述第二像素差值在所述预设三维坐标系的Y轴与Z轴组成的平面中确定第二向量,所述预设参数用于表征所述第一向量在所述预设三维坐标系X轴上的位置坐标,以及所述第二向量在所述预设三维坐标系Y轴上的位置坐标,所述第一像素差值用于表征所述第一向量在所述预设三维坐标系Z轴上的位置坐标,所述第二像素差值用于表征所述第二向量在所述预设三维坐标系Z轴上的位置坐标;
第三确定模块,用于确定与所述第一向量和所述第二向量组成的平面相垂直的法向量;
生成模块,用于将所述法向量的坐标值作为所述像素点的RGB值,生成所述原始图像对应的法线纹理图,所述法向量的坐标值由X值、Y值和Z值组成。
7.根据权利要求6所述的装置,其特征在于,所述第三确定模块用于:
将所述第一向量和所述第二向量进行叉乘计算,得到与所述第一向量和所述第二向量组成的平面相垂直的法向量。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-5中任一项所述方法的步骤。
9.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811559447.7A CN109829968B (zh) | 2018-12-19 | 2018-12-19 | 法线纹理图的生成方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811559447.7A CN109829968B (zh) | 2018-12-19 | 2018-12-19 | 法线纹理图的生成方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109829968A CN109829968A (zh) | 2019-05-31 |
CN109829968B true CN109829968B (zh) | 2023-07-21 |
Family
ID=66858841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811559447.7A Active CN109829968B (zh) | 2018-12-19 | 2018-12-19 | 法线纹理图的生成方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109829968B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112241933A (zh) * | 2020-07-15 | 2021-01-19 | 北京沃东天骏信息技术有限公司 | 人脸图像处理方法、装置、存储介质及电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102147927A (zh) * | 2010-02-05 | 2011-08-10 | 新奥特(北京)视频技术有限公司 | 一种地形纹理贴图的处理方法和处理装置 |
-
2018
- 2018-12-19 CN CN201811559447.7A patent/CN109829968B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102147927A (zh) * | 2010-02-05 | 2011-08-10 | 新奥特(北京)视频技术有限公司 | 一种地形纹理贴图的处理方法和处理装置 |
Non-Patent Citations (2)
Title |
---|
3D凹凸贴图效果研究及其实现;彭茜珍等;《咸宁学院学报》;20060730(第03期);第92-94页 * |
3D游戏中法线贴图技术的数学方法;张云苑;《电脑知识与技术》;20111115;第8043-8045页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109829968A (zh) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111815755A (zh) | 虚拟物体被遮挡的区域确定方法、装置及终端设备 | |
CN108040210B (zh) | 一种局部畸变的校正方法及移动终端和相关介质产品 | |
US20100278418A1 (en) | System and method for measuring errors of workpieces | |
GB2536904A (en) | Image filtering based on image gradients | |
CN105005972A (zh) | 一种基于拍摄距离的畸变校正方法及移动终端 | |
CN108074237B (zh) | 图像清晰度检测方法、装置、存储介质及电子设备 | |
CN112288254B (zh) | 一种施工质量检测方法、终端和存储介质 | |
CN103697820A (zh) | 一种基于终端测量尺寸的方法及终端设备 | |
CN112435297B (zh) | 目标物体位姿确定方法、装置、存储介质及电子设备 | |
CN105243662A (zh) | 一种端子位置的确定方法及终端设备 | |
CN111311671B (zh) | 一种工件测量方法、装置、电子设备及存储介质 | |
CN109829968B (zh) | 法线纹理图的生成方法、装置、存储介质及电子设备 | |
CN114926549B (zh) | 三维点云处理方法、装置、设备以及存储介质 | |
CN111141208B (zh) | 一种平行线检测方法及装置 | |
KR102151127B1 (ko) | 3차원 영상 생성 장치 및 방법 | |
US20210065402A1 (en) | Method and device for calibrating depth of 3d camera, and computer device | |
CN109801428B (zh) | 纸币边缘直线的检测方法、检测装置及终端 | |
CN112785650A (zh) | 一种相机参数标定方法及装置 | |
CN114782611B (zh) | 图像处理方法、装置、存储介质和电子设备 | |
CN111951348A (zh) | 确定框选区域的方法、装置及电子设备 | |
CN115457202A (zh) | 一种三维模型更新的方法、装置及存储介质 | |
CN116012242A (zh) | 一种相机畸变矫正效果评价方法、装置、介质及设备 | |
CN111260739A (zh) | 图片处理方法及装置 | |
CN112907462A (zh) | 超广角摄像器件畸变校正方法、系统及包括其的拍摄装置 | |
US20240029288A1 (en) | Image processing apparatus, image processing method, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |