《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于浮雕图像的3D浮雕效果实现
基于浮雕图像的3D浮雕效果实现
来源:微型机与应用2012年第11期
林 静,王薇婕,关丹丹,景军锋
(西安工程大学 电子信息学院,陕西 西安 710048)
摘要: 针对如何使图像中的浮雕更具有立体感与观赏性这一问题,提出了一种利用单幅浮雕图像来实现3D浮雕效果的方法。该方法主要是通过给图像目标区域增加高度值来实现。首先将图像看作是由像素点组成的矩阵,进行相关矩阵运算,同时将整幅图像看作一个二维网格,然后利用目标图像的颜色值作为高度值进行三维网格的绘制,得出三维图形,并对生成的图形进行光照处理以获得更好的视觉效果。
Abstract:
Key words :

摘  要: 针对如何使图像中的浮雕更具有立体感与观赏性这一问题,提出了一种利用单幅浮雕图像来实现3D浮雕效果的方法。该方法主要是通过给图像目标区域增加高度值来实现。首先将图像看作是由像素点组成的矩阵,进行相关矩阵运算,同时将整幅图像看作一个二维网格,然后利用目标图像的颜色值作为高度值进行三维网格的绘制,得出三维图形,并对生成的图形进行光照处理以获得更好的视觉效果。
关键词: 3D;浮雕效果;图像;高度值

 浮雕是在平面上雕刻出凹凸起伏形状的一种雕塑,它是介于平面绘画与三维浮雕之间的一种艺术表现形式,能很好地保持三维物体基于某个观测角度的外形轮廓和视觉效果,因此也越来越受到人们的喜爱。国内外对浮雕进行了大量的研究,在这些研究中,有的是从三维模型出发[1-2],其基本方法是对三维几何模型在某给定视觉方向的深度值进行压缩来获得浮雕。有的是从图像出发,主要是从图像的灰度与视觉的映射关系出发[3],从图像中提出灰度信息,并转化成为深度值,从而生成三维浮雕模型。而将图像表面分为高频与低频两个分量进行处理,且利用先验函数定义浮雕的高低起伏[4]来恢复3D浮雕效果也可取得很好的成效。
 为了达到更好的艺术效果,考虑到浮雕的深度、视觉效果和突出主题等,一些研究学者从浮雕的细节出发对浮雕进行处理,取得了不错的效果。本文从二维浮雕图像出发,用一种不那么复杂的算法显示出3D浮雕效果,使图像更有立体感与观赏性。
1 相关工作
 为了实现3D浮雕效果,本文将二维图像看是一个二维的网格平面,利用目标区域图像(去除背景)的颜色值作为物体的高度值进行三维网格化绘制,为了得到更好的视觉效果,将得到的图像进行光照处理,实验结果表明了这种方法在实现3D浮雕效果的有效性与快速性。算法流程可以分为图像分割、给目标区域增加一个高度值和设置光照3个部分。
1.1 图像分割与背景填充
 图像分割是数字图像处理的重要技术之一,图像分割的目的是将图像中的目标区域与伪目标区域及其背景分开来,因为只有目标区域才能可以提供有用的信息。图像分割技术主要包括区域分割、阈值分割、差分运动分割及边缘检测4大类。然而,由于浮雕图像内部的目标区与背景区的纹理、灰度和色彩等特征相同(如图1所示),若采用一般的图像分割方法很难得到满意的效果,因此可在Photoshop中手动抽出目标图像[5]。
经过分割处理后,图像的背景色是白色,由于目标区域相对于白色背景而言像素值差异较大,但也不排除目标区域中一些较亮的点,为了确保最好效果,将背景色换为黑色。具体步骤为:(1)分别求出彩色图像的R、G、B分量;(2)设置阈值求出新的r、g、b分量;(3)将新的r、g、b分量所代表的3个矩阵合并成1个代表彩色图像的三维数组。经过多次实验,将阈值设置为200,即当原图像的R、G、B分量值均大于200时,则令r、g、b的值为0。图像处理后的效果如图2所示。

1.2 给目标区域增加高度值
 只有给目标区域增加不同的高度值后,才更能反映出浮雕的凹凸起伏,其思想是:图像中物体的颜色是由该点经过反射得到的,所以颜色信息在一定程度上也反映了物体的形状信息,颜色浅的往往深度值较小,颜色深的地方往往相对深度值较大,这样就可以把物体上的颜色信息看成加到2D图像网格上的高度场。
1.2.1 将图像进行矩阵运算
 将图像看作是由一个个像素点组成的矩阵,充分利用MATLAB强大的矩阵运算能力进行以下处理:
 for i=1:im_size(1)
 for j=1:im_size(2)
 Image1(i,j)=Image0(i,j)×1.0+K×j/n;
 end
 end
 其中,im_size(1)与im_size(2)分别是待处理图像的长和宽,Image0(i,j)是原图像中的一个采样点,K与n是调节因子。经过运算后,Image1成为一个二维的矩阵。Image1(i,j)是Image0(i,j)经过上述算法后的图像采样点,本文所说的给目标区域图像加高度值也是指在这些Image1(i,j)采样点上加高度值。
1.2.2 平滑化处理
 经过矩阵运算之后,对原图像数据进行一个平滑化处理。处理函数为:
 W=smooth3(V,‘filter’,size)(1)
 其中,V是需要平滑的数据;W是平滑后的数据;filter是使用的卷积核,可为‘gaussian’或‘box’(默认值);size是卷积核大小。本文所要处理的数据是图像Image0,即经过运算后的图像矩阵,filter为‘box’,size为3。
1.2.3 三维图形绘制
 在进行三维图形绘制时,首先要将图形的定义区域分成若干网格,然后计算这些网格节点上的二元函数值,在本文中,这些网格节点上的二元函数值就是加在网格节点上的高度值。在MATLAB中,生成网格使用meshgrid函数,而在众多的三维绘制函数中使用meshz进行绘制,这是因为它在绘制三维网格图的同时在网格图周围绘制垂直水平面的参考平面。
1.3 设置光照
 人们之所以能够看得见物体,是因为物体的表面对光进行了反射,反射光进入人眼。为了使物体的图形更具有真实感,需要给物体加上细腻的光照效果。而给物体加光照效果,最好的办法是对物体可见面上的每一点都添加亮度与颜色。但是这种方法工作量大,不易实现,因此,要充分利用物体的形状与连接信息来添加光照效果。
 本文采用了在点[1,1,0]处设置一个点光源,使用Phong光照模型[6]来实现光照效果。Phong模型是一种最基础却很重要的光照模型,它分为镜面反射光、漫反射光和环境反射光3个累加阶段。

 



    本文利用单幅浮雕图像实现3D浮雕效果,虽然思路不是很复杂,但是却能很好地达到目标。本文所实现的是一种伪3D效果,即浮雕的高度值并不是其真正的物理高度值,这也是接下来要完成的任务。
参考文献
[1] SONG W, BELYAEV A, SEIDEL H P. Automatic generation of bas-reliefs from 3D shapes[C]. Proceedings of IEEE International Conference on Shape Modeling and Applications, 2007: 211-214.
[2] 赵鹏,边哲.曲面浅浮雕生成算法[J].计算机辅助设计与图形学学报,2010,22(7)1126-1131.
[3] 叶新东,王章野,汤锋.一种基于图像的3D浮雕效果绘制算法[J].计算机应用研究,2005,22(2):227-228.
[4] 王松,李著文,于金辉.利用拓片恢复汉画像的浮雕效果[J].计算机辅助设计学与图形学学报,2011,23(5):784-789.
[5] 朱晓丽,吴中福,李颖.基于MATLAB实现石刻浮雕图像“数字拓片”技术的研究[J].计算机科学,2009,36(2):268-270.
[6] 于万波.基于MATLAB的计算机图形与动画技术[M].北京:清华大学出版社,2007.

此内容为AET网站原创,未经授权禁止转载。