针对嫦娥三号在月面科学探测任务过程中对高精度撞击坑地形的需求,提出透视投影下基于明暗恢复形状(SFS)的月面撞击坑地形恢复算法。采用Lommel-seeliger反射模型模拟月表反射,得到透视投影下的反射方程,通过撞击坑边缘点梯度约束及地形表面连续性约束,将反射方程正则化,最终通过求解,实现了撞击坑在透视投影下的三维恢复。采用模拟影像和真实月面影像对算法的正确性和可行性进行了测试。试验表明,所提出的算法能够有效地进行透视投影下的撞击坑地形恢复,且精度高于现有SFS算法。