首页 > 其他分享 >bundle_adjust_mosaic

bundle_adjust_mosaic

时间:2022-09-20 19:46:09浏览次数:27  
标签:transformations image bundle adjust Transformation mosaic

bundle_adjust_mosaic — Perform a bundle adjustment of an image mosaic.

bundle_adjust_mosaic( : : NumImages, ReferenceImage, MappingSource, MappingDest, HomMatrices2D, Rows1, Cols1, Rows2, Cols2, NumCorrespondences, Transformation : MosaicMatrices2D, Rows, Cols, Error)

bundle_adjust_mosaic 对一张拼接图片(马赛克图片)执行一些列的调整。

bundle_adjust_mosaic performs a bundle adjustment of an image mosaic. This can be used to determine the geometry of a mosaic as robustly as possible, and hence to determine the transformations of the images in the mosaic more accurately than with single image pairs.

bundle_adjust_mosaic 对一张拼接图片(马赛克图片)执行一些列的调整。它可以被用来获取几何结构鲁棒性尽可能好的赛马克图片。因此和使用单一图片对相比这将会获得更加精准的图像集合中的转换。

To achieve this, the projective transformation for each overlapping image pair in the mosaic should be determined with proj_match_points_ransac. For example, for a 2×2 block of images in the following layout

                                                                                                                                                                 

为了完成这个,所有相互重叠的图片的投射转换HomMatrices2D应该通过proj_match_points_ransac算子获得。例如对于下面展示的一个2x2的图像块

the following projective transformations should be determined, assuming that all images overlap each other: 1->2, 1->3, 1->4, 2->3, 2->4 and 3->4. The indices of the images that determine the respective transformation are given by MappingSource and MappingDest. The indices are start at 1. Consequently, in the above example MappingSource = [1,1,1,2,2,3] and MappingDest = [2,3,4,3,4,4] must be used. The number of images in the mosaic is given by NumImages. It is used to check whether each image can be reached by a chain of transformations. The index of the reference image is given by ReferenceImage. On output, this image has the identity matrix as its transformation matrix.

假设每张图之间都会重叠,以下的投射转换应该被获取:1->2,1->3,1->4,2->3,2->4和3->4。这些决定各自转换矩阵的图像序号需要在MappingSource 和MappingDest中给出,序号从1开始(不是从0开始)。因此在上面的例子中MappingSource = [1,1,1,2,2,3] 并且MappingDest = [2,3,4,3,4,4] 必须被输入到输入参数内。马赛克图片中的数目在NumImages中输入。以上操作是为了检测是否每个图片都可以通过一系列的转换获得。输出时,参考图像的指针由ReferenceImage输入,此图片的转换矩阵为单位矩阵,位置不发生变化。

The 3×3 projective transformation matrices that correspond to the image pairs are passed in HomMatrices2D. Additionally, the coordinates of the matched point pairs in the image pairs must be passed in Rows1, Cols1, Rows2, and Cols2. They can be determined from the output of proj_match_points_ransac with tuple_select or with the HDevelop function subset. To enable bundle_adjust_mosaic to determine which point pair belongs to which image pair, NumCorrespondences must contain the number of found point matches for each image pair.

图像对对应的3X3的投射矩阵在参数HomMatrices2D中传入。另外,图像对中的匹配点的坐标需要传入到参数Rows1,Cols1(图像1中的点),Rows2,Cols2(图像2中的点)中。这些坐标可以通过proj_match_points_ransac 和一个tuple_select /子集函数获取。为了让bundle_adjust_mosaic 可以知道哪些点对属于那个图像对,输入参数NumCorrespondences 中一定要包含每个图像对中匹配点的个数。

The parameter Transformation determines the class of transformations that is used in the bundle adjustment to transform the image points. This can be used to restrict the allowable transformations. For Transformation = 'projective', projective transformations are used (see vector_to_proj_hom_mat2d). For Transformation = 'affine', affine transformations are used (see vector_to_hom_mat2d), for Transformation = 'similarity', similarity transformations (see vector_to_similarity), and for Transformation = 'rigid' rigid transformations (see vector_to_rigid).

参数Transformation 可以确定在进行一系列对图像匹配点的调整过程中什么类型的转换矩阵被用到。这可以限制允许的转换。当Transformation 值为“projective”时,使用投射矩阵。当Transformation 值为“affine”时,使用仿射矩阵。当Transformation 值为“similarity”时,使用相似转换矩阵。当Transformation 值为“rigid”时,使用刚体变换矩阵。

The resulting bundle-adjusted transformations are returned as an array of 3×3 projective transformation matrices in MosaicMatrices2D. In addition, the points reconstructed by the bundle adjustment are returned in (Rows, Cols). The average projection error of the reconstructed points is returned in Error. This can be used to check whether the optimization has converged to useful values.

调整后的转换矩阵作为一个3x3的转换矩阵从MosaicMatrices2D中返回。此外,通过一系列调整后的点在Rows和Cols中返回。在Error中返回投射的平均误差,这可以用来检查此次优化后的转换矩阵是否将点投射到有效的范围(用来检测优化效果)。

标签:transformations,image,bundle,adjust,Transformation,mosaic
From: https://www.cnblogs.com/DropInTheSea/p/16712117.html

相关文章