matlab - 根据两个垂直 View 的图像生成图像

标签 matlab image-processing multiviews

我试图根据杆的两个垂直 View 在其平面中找到曲线形状杆的形状。我准备了一张图片来使我的问题更清楚。 enter image description here

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

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

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

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

非常感谢任何帮助。

最佳答案

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

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

关于matlab - 根据两个垂直 View 的图像生成图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21147188/

相关文章:

matlab - 并行池不识别全局变量

matlab - 将随机数添加到矩阵 MATLAB

python - 我想使用 python 对图像中的像素应用阈值。我哪里弄错了?

java - 如何使用 JSlider slider 或 JScrollBar 增加/减少图像的亮度

c# - 即使位图设置为 Graphics.Clear(Color.Transparent),为什么调整大小时图像周围会出现黑色背景

php - Apache中MultiViews中的“no acceptable variant”

MATLAB EEG信号处理—— channel 定位文件

matlab - 使用DCT将图像分解为两个频率分量?