基于来自两个垂直视图的图像产生图像

时间:2014-01-15 20:09:34

标签: matlab image-processing multiviews

我试图根据杆的两个垂直视图找到其平面中的曲线形状杆的形状。我准备了一张图片,让我的问题更加清晰。 enter image description here

我在平面1和2上有投影杆的投影图像,我想在平面3上产生杆的图像。我所做的是我在视图上找到杆的中心线1和2使用Matlab图像处理工具箱,然后我在那些线上拟合曲线。然后我根据拟合曲线生成3D数据,最后将另一条曲线或椭圆拟合到最终的3D曲线上。

它有效,但我想知道是否有更合适的解决方案,例如通过旋转视图1和2.

视图3相对于视图1(和视图2)的角度是可变的,但视图1和2彼此垂直。

我们可以通过在视图1和2中找到杆的末端来找到平面3的角度,因为它将是atan(x_end_in_view_1 / x_end_in_view_two)。是否可以根据第二台相机的图像从相机角度到已知角度的相机视角生成图像?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

是的,可以从相机角度到另一个相机的已知角度生成图像。给定角度,您可以计算两个平面之间的仿射变换,并将变换应用于原始图像,以获得图像在另一个平面中的投影。

仿射变换有6个参数,因为你知道两个平面之间的角度,对于4个点(0,0),(0,1),(1,0)和(1,1),在倾斜平面后(例如关于y轴),你会知道这些点的(x,y)坐标(忘记z坐标)。现在,您将有8个方程和6个未知数,因此您可以计算仿射变换并在整个图像上应用变换以获得投影。