本文主要是介绍光度立体法总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
所谓光度立体法是根据在不同光源方向的情况下拍摄的多幅图像的光强来计算物体表面的方向梯度从而获得图像的三维信息。
传统的光度立体一般是假设物体是理想的朗伯表面,假设光照是理想的平行光照。其反射分布函数可以由下面这个式子得到:
根据图像的辐照度方程可得到表面方向与图像亮度之间的对应关系
式中Q 是反射常数(p,q)为物体表面的方向梯度,
为光源的方向,,为光源的倾角与 仰角。
对于在 3 个不同的光照条件下得到的 3 幅光照图像可以得到以下方程组:
式中分别对应 3 幅图像象素点的规格化亮度(灰度值与图像上最大灰度值之比),
分别为 3 幅图像的光源方向。
通过对方程组求解得到图像上各象素点的表面方向梯度 , 在实际情况中由于图像已离散化因此和
可用它们的一次差分近似地表示:
设起始点高度为(起始点通常为图像中心点)则可以求出
四个相邻点的高度值并进一步扩散得到所有离散图像点上的高度值从而最终恢复物体的表面形状.
这篇关于光度立体法总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!