仿射单应性计算
假设两个图像之间有一个单应性 H。第一个图像是参考图像,其中平面物体覆盖整个图像(并且与图像平行)。第二张图像从另一个任意视图(运行时图像)描绘了平面对象。现在,给定参考图像中的一个点 p=(x,y),我在 p 周围有一个大小为 SxS(其中 S<=20 像素)的像素矩形区域(称为补丁)。我可以使用运行时图像中的像素和逆单应性 H^(-1) 来反扭曲该补丁。
现在,我想要做的是,给定 H,计算适合点 p 周围补丁的仿射单应性 H_affine。我使用的简单方法是计算 4 个点对应关系:补丁的四个角和运行时图像中的对应点(使用完整单应性 H 计算)。给定这四个点对应(全部属于点 p 的一个小邻域),我们可以计算仿射单应性求解一个简单的线性系统(使用黄金标准算法)。如此计算的仿射单应性将以合理的精度(低于 0.5 像素)近似于完整的投影单应性,因为我们处于 p 的一个小邻域中(如果尺度不是太不利,也就是说,补丁 SxS 不对应于运行时图像中的大图像区域)。
给定H(与点p和补丁SxS相关)是否有更快的方法来计算H_affine?
Suppose you have an homography H between two images. The first image is the reference image, where the planar object cover the entire image (and it is parallel to the image). The second image depicts the planar object from another abritrary view (run-time image). Now, given a point in the reference image p=(x,y), i have a rectangular region of pixels of size SxS (with S<=20 pixel) around p (call it patch). I can unwarp this patch using the pixels in the run-time image and the inverse homography H^(-1).
Now, what i want to do is to compute, given H, an affine homography H_affine suitable for the patch around the point p. The naive way that i am using is to compute 4 point correspondences: the four corners of the patch and the corresponding points in the run-time image (computed using the full homography H). Given this four point correspondences (all belonging to a small neighborhood of the point p), one can compute the affine homography solving a simple linear system (using the gold standard algorithm). The affine homography so computed will approximate with reasonable precision (below .5 pixel) the full projective homography, since we are in a small neighboorhood of p (if the scale is not too unfavorable, that is, the patch SxS does not correspond to a big image region in the run-time image).
Is there a faster way to compute H_affine given H (related to the point p and the patch SxS)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你说你已经知道 H,但听起来你正试图重新计算它,但这次将结果称为 H_affine。正确的H将是射影变换,它可以唯一地分解为3个部分,分别表示射影部分、仿射部分和相似部分。如果您已经知道 H 并且只想要仿射部分及以下部分,则分解 H 并忽略其射影分量。如果您不知道 H,那么 4 点对应就是可行的方法。
You say that you already know H, but then it sounds like you're trying to compute it all over again but this time call the result H_affine. The correct H would be a projective transformation and it can be uniquely decomposed into 3 parts representing the projective part, the affine part and the similarity part. If you already know H and only want the affine part and below, then decompose H and ignore its projective component. If you don't know H, then the 4 point correspondence is the way to go.