浮雕就是把所要呈现的图像突起于石头表面,根据凹凸的程度不同从而形成三维的立体感。计算机产生浮雕效果原理与之类似,即通过勾画图像的轮廓,并且降低周围的像素值,从而产生一张具有立体感的浮雕效果图片。这里我们通过相邻元素相减的方法得到轮廓与边缘的差,从而获得凹凸的立体感觉。
图像浮雕效果的原理是利用图像中像素之间的灰度差异来模拟立体感。通常情况下,图像中相邻像素的灰度值会有微小的差异,浮雕效果利用这些差异来产生阴影和凸起的立体感。
具体来说,实现图像浮雕效果的过程如下:
-
灰度转换: 首先,将彩色图像转换为灰度图像。这是因为浮雕效果主要受到像素之间的灰度差异影响,而彩色信息并不是必需的。
-
灰度差异计算: 对于每个像素,计算其与相邻像素的灰度差异。通常情况下,可以选择使用当前像素的灰度值减去其相邻像素的灰度值。
-
偏移调整: 将计算得到的灰度差异加上一个偏移值。这个偏移值可以控制浮雕效果的强度和方向。
-
灰度范围映射: 将计算得到的灰度值映射到合适的灰度范围,通常是 0 到 255。这确保了浮雕效果的结果是一个合法的灰度图像。
通过这些步骤,可以在图像中模拟出像素之间的立体感,从而产生浮雕效果。这种效果常用于图像处理中,用于增强图像的视觉效果或者产生特殊的艺术效果。
spatialGradient空间梯度
- 转换成灰度图
- 空间梯度函数计算,获得dx、dy的分量图
- 通过convertTo函数将32位浮点型dx、dy分量转换成8位无符号类型,可以调节alpha和beta来调节细节表现和灰度值。
spatialGradient空间梯度分量合并
卷积函数filter2D
高斯滤波
- 转换成灰度图
- 高斯滤波函数获取平滑图
- 用灰度图减去平滑图,获取图像轮廓
-
convertScaleAbs调节细节表现和整体灰度值