我用圆柱体内的相机捕捉图像。我想将该图像转换为二维平面。圆柱体内的图像有很多点,形成网格。
我试图做的是估计转变。通过斑点分析,我可以检测每个点的中心并获得像素坐标。我将其保存在名为 ImCilynder 的矩阵中。之后,我创建一个矩阵,其中包含平面上这些点的坐标,名称为 Im2d。
我计算求解方程的变换 (H):
Imcilynder * H= Im2d;
H= matrix [9x1]
H=pinv(Imcilynder) * Im2d
但是,当我用相同的点进行测试时,结果是完全随机的,所以我做错了。
有没有更好的方法来解决这个问题?你能帮助我吗?
解释得更好,
所以,为了澄清,我想要将我在第一张图像中看到的点投影到平面上。基本上我想打开圆筒。
计算变换矩阵后。我期望将第一张图像与变换矩阵相乘并获得平面上的点。或者将黑点中心坐标相乘,得到该黑点在平面中的坐标。这可能吗?
非常感谢,
阿方索
那么,您希望在飞机上拥有什么?圆圈形成网格?因为如果是这种情况,您需要消除径向畸变,这些模型由一些参数表示,顺便说一下,它们是非线性的。也许如果你能找到一个非常好的算法,你会得到这样的东西:
如果这不是你的想法,你需要应用弹性变换,这种变换需要使用一种网格,即变换的模型,你需要提出你的网格模型。如果您想自动执行此操作,则需要诉诸弹性配准算法,并且可以使用如下模型:
无论如何,这不是一个简单的任务,当然如果你想自动获得变换,有很多关于复杂变换的研究。否则你可以使用 Photoshop ;)。