gen_spherical_mosaic — 创建球形拼接图像。
gen_spherical_mosaic(Images : MosaicImage : CameraMatrices, RotationMatrices, LatMin, LatMax, LongMin, LongMax, LatLongStep, StackingOrder, Interpolation : )
gen_spherical_mosaic creates a spherical mosaic image
MosaicImage from the input images passed in
Images. The pose of the images in space, which is used to
compute the position of the images with respect to the surface of
the sphere, can be determined with
stationary_camera_self_calibration。The camera and rotation
matrices computed with stationary_camera_self_calibration
can be used in CameraMatrices and
RotationMatrices. A spherical mosaic can only be created
from images that were taken with a stationary camera (see
stationary_camera_self_calibration).
The mosaic is computed in spherical coordinates (longitude and
latitude). The row axis of MosaicImage corresponds to the
latitude, while the column axis corresponds to the longitude. The
part of the sphere that is computed by gen_spherical_mosaic
is determined by LatMin, LatMax, LongMin,
and LongMax. These parameters are specified in degrees and
determine a rectangular part of the latitude and longitude
coordinates. The latitude -90 corresponds to the north
pole (i.e., the straight up viewing direction), while 90
corresponds to the south pole (i.e., the straight down viewing
direction). The longitude 0 corresponds to the straight
ahead viewing direction. Negative longitudes correspond to viewing
directions to the left, while positive longitudes correspond to
viewing directions to the right. Hence, to obtain a complete image
of the sphere, LatMin = -90, LatMax =
90, LongMin = -180, and
LongMax = 180 must be used. In many cases, the
mosaic will not cover the entire sphere. In these cases, it is
useful to select the desired part of the sphere with the above
parameters. This can be done by explicitly specifying the desired
rectangle. However, often it is desirable to determine the smallest
rectangle that encloses all images automatically. This can be done
by using LatMin < -90, LatMax >
90, LongMin < -180, and
LongMax > 180. Only the parameters that lie
outside the normal range of values are determined automatically.
The angle step per pixel in MosaicImage can be selected
with LatLongStep, which also is an angle specified in
degrees. With this, the resolution of the mosaic image can be
controlled. If LatLongStep is set to 0 the angle
step is calculated automatically by trying to preserve the pixel
size of the original images as well as possible.
The mode in which the images are added to the mosaic is given by
StackingOrder. For StackingOrder =
'voronoi', the points in the mosaic image are determined
from the Voronoi cell of the respective input image. This means
that the gray values are taken from the points of the input image to
whose center the pixel in the mosaic image has the smallest distance
on the sphere. This mode has the advantage that vignetting and
uncorrected radial distortions are less noticeable in the mosaic
image because they typically are symmetric with respect to the image
center. Alternatively, with the choice of parameters described
described in the following, a mode can be selected that has the same
effect as if the images were painted successively into the mosaic
image. Here, the order in which the images are added to the mosaic
image is important. Therefore, an array of integer values can be
passed in StackingOrder. The first index in this array
will end up at the bottom of the image stack while the last one will
be on top. If 'default' is given instead of an array of
integers, the canonical order (images in the order used in
Images) will be used. Hence, if neither 'voronoi'
nor 'default' are used, StackingOrder must contain
a permutation of the numbers 1,...,n, where n is the number of
images passed in Images. It should be noted that the mode
'voronoi' cannot always be used. For example, at least
two images must be passed to use this mode. Furthermore, for very
special configurations of the positions of the image centers on the
sphere, the Voronoi cells cannot be determined uniquely. With
StackingOrder = 'blend', an additional mode is
available, which blends the images of the mosaic smoothly. This way seams
between the images become less apparent. The seam lines between the images
are the same as in 'voronoi'. This mode leads to visually more
appealing images, but requires significantly more resources. If the
mode 'voronoi' or 'blend' cannot be used for whatever
reason the mode is switched internally to 'default' automatically.
The parameter Interpolation selects the desired interpolation mode
for creating the mosaic. 'bilinear' and 'bicubic'
interpolation is available for all modes of StackingOrder.
'nearest_neighbor' is only available if StackingOrder is
set to 'default' or 'voronoi'.
Images (输入对象) (multichannel-)image-array → object (byte / uint2 / real)
输入图像。
MosaicImage (输出对象) (multichannel-)image → object (byte / uint2 / real)
输出图像。
CameraMatrices (输入控制) hom_mat2d-array → (real)
(Array of) 3x3 projective camera matrices that determine the internal camera parameters.
RotationMatrices (输入控制) hom_mat2d-array → (real)
Array of 3x3 transformation matrices that determine rotation of the camera in the respective image.
LatMin (输入控制) angle.deg → (real / integer)
Minimum latitude of points in the spherical mosaic image.
默认值: -90
建议值: -100, -90, -80, -70, -60, -50, -40, -30, -20, -10
限制:
LatMin <= 90
LatMax (输入控制) angle.deg → (real / integer)
Maximum latitude of points in the spherical mosaic image.
默认值: 90
建议值: 10, 20, 30, 40, 50, 60, 70, 80, 90, 100
限制:
LatMax >= -90 && LatMax > LatMin
LongMin (输入控制) angle.deg → (real / integer)
Minimum longitude of points in the spherical mosaic image.
默认值: -180
建议值: -200, -180, -160, -140, -120, -100, -90, -80, -70, -60, -50, -40, -30, -20, -10
限制:
LongMin <= 180
LongMax (输入控制) angle.deg → (real / integer)
Maximum longitude of points in the spherical mosaic image.
默认值: 180
建议值: 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 120, 140, 160, 180, 200
限制:
LongMax >= -90 && LongMax > LongMin
LatLongStep (输入控制) angle.deg → (real / integer)
Latitude and longitude angle step width.
默认值: 0.1
建议值: 0, 0.02, 0.05, 0.1, 0.2, 0.5, 1
限制:
LatLongStep >= 0
StackingOrder (输入控制) string(-array) → (string / integer)
Mode of adding the images to the mosaic image.
默认值: 'voronoi'
建议值: 'blend', 'voronoi', 'default'
Interpolation (输入控制) string → (string / integer)
Mode of interpolation when creating the mosaic image.
默认值: 'bilinear'
建议值: 'nearest_neighbor', 'bilinear', 'bicubic'
* For the input data to stationary_camera_self_calibration, please
* refer to the example for stationary_camera_self_calibration.
stationary_camera_self_calibration (4, 640, 480, 1, From, To, \
HomMatrices2D, Rows1, Cols1, \
Rows2, Cols2, NumMatches, \
'gold_standard', \
['focus','principal_point'], \
'true', CameraMatrix, Kappa, \
RotationMatrices, X, Y, Z, Error)
gen_spherical_mosaic (Images, MosaicImage, CameraMatrix, \
RotationMatrices, -100, 100, -200, 200, 0, \
'default','bilinear')
* Alternatively, if kappa should be determined, the following calls
* can be made:
stationary_camera_self_calibration (4, 640, 480, 1, From, To, \
HomMatrices2D, Rows1, Cols1, \
Rows2, Cols2, NumMatches, \
'gold_standard', \
['focus','principal_point','kappa'], \
'true', CameraMatrix, Kappa, \
RotationMatrices, X, Y, Z, Error)
cam_mat_to_cam_par (CameraMatrix, Kappa, 640, 480, CamParam)
change_radial_distortion_cam_par ('fixed', CamParam, 0, CamParOut)
gen_radial_distortion_map (Map, CamParam, CamParOut, 'bilinear')
map_image (Images, Map, ImagesRect)
gen_spherical_mosaic (ImagesRect, MosaicImage, CameraMatrix, \
RotationMatrices, -100, 100, -200, 200, 0, \
'default','bilinear')
如果参数有效,算子
gen_spherical_mosaic 返回值 2 ( H_MSG_TRUE )。如有必要,则抛出异常。
stationary_camera_self_calibration
gen_cube_map_mosaic,
gen_projective_mosaic
Lourdes Agapito, E. Hayman, I. Reid: “Self-Calibration of Rotating
and Zooming Cameras”; International Journal of Computer Vision;
vol. 45, no. 2; pp. 107--127; 2001.
Olivier Faugeras, Quang-Tuan Luong: “The Geometry of Multiple
Images: The Laws That Govern the Formation of Multiple Images of a
Scene and Some of Their Applications”; MIT Press, Cambridge, MA;
2001.
匹配