| Customize Help
| Save Settings

MimRotate



Function Map
Synopsis
Rotate an image by a specified angle of rotation or generate the matrix to perform the transformation.
Syntax
void MimRotate(
MIL_ID SrcImageBufId, //in
MIL_ID DstImageOrArrayBufId, //in
MIL_DOUBLE Angle, //in
MIL_DOUBLE SrcCenX, //in
MIL_DOUBLE SrcCenY, //in
MIL_DOUBLE DstCenX, //in
MIL_DOUBLE DstCenY, //in
MIL_INT64 InterpolationMode //in
)
Description

This function rotates an image by the specified angle of rotation. Alternatively, this function can generate the 3x3 or 3x2 warp matrix required to perform the transformation using MimWarp(). If you specify a source image, it will be rotated using the specified interpolation mode. The center of rotation in the source image is determined by the specified X- and Y-source rotation-center coordinates. The rotated image will then be clipped to fit the destination buffer. It will be placed in the destination buffer with its center positioned at the specified X- and Y-destination center coordinates.

Note that this function reference has not been updated for a MIL system added during a MIL update. Refer to the MIL system's release note to see which MIL system’s documentation you should use in its place and any possible differences.
Parameters
This function is not supported on the selected boards.
This function reference has not been updated for the selected MIL system. To show the content of this page, choose a second MIL system; refer to the MIL system's release note to see which MIL system’s documentation to choose and any possible differences.
Parameters
SrcImageBufId

Specifies the source image to rotate if performing the transformation. This parameter can be set to one of the following values:

function map For specifying the source image buffer identifier
Click to summarizeValue Description
Click to summarize M_NULL

Specifies to ignore this parameter; this parameter must be set to M_NULL when generating the matrix that you can use with MimWarp() to perform the rotation.

Click to summarize MIL image buffer identifier

Specifies the identifier of the source image buffer to rotate.

When rotating an image, this parameter must be given an image buffer identifier.

This image buffer must not have a region of interest (ROI) associated with it. Using an image buffer with an ROI will cause an error.

(summarize)
DstImageOrArrayBufId

Specifies the destination image buffer or array buffer, depending on whether performing the transformation. This parameter can be set to one of the following values:

function map For specifying the destination buffer identifier
Click to summarizeValue Description
Click to summarize MIL array buffer identifier

Specifies the identifier of the destination M_ARRAY buffer when generating the matrix.

When generating a warp matrix, this parameter must be given a single-band, 32-bit floating-point buffer that has an M_ARRAY attribute and that has dimensions 3x2, for a first-order polynomial warping, or 3x3, for a perspective polynomial warping. If you pass this parameter a buffer with dimensions 3x2, MimWarp() will assume the third row to be (0, 0, 1) when performing the warping.

(summarize)
Click to summarize MIL image buffer identifier

Specifies the identifier of the destination image buffer when rotating the source image.

When rotating an image, this parameter must be given an image buffer identifier.

This buffer must not have a region of interest (ROI) associated with it. Using a buffer with an ROI will cause an error.

Note that after performing the operation, the destination image will not be calibrated, even if the source image was calibrated.

(summarize)
Angle

Specifies the angle of rotation.

function map For specifying the rotation angle
Click to summarizeValue Description
Click to summarize -360.0 <= Value <= 360.0

Specifies the angle of rotation, in degrees. When a positive angle is specified, the function rotates the image in a counter-clockwise direction, regardless of camera calibration settings.

(summarize)
SrcCenX

Specifies the X-coordinate to use as the center of rotation in the source image. This parameter must be set to one of the values below.

function map For specifying the X-coordinate (source)
Click to summarizeValue Description
Click to summarize M_DEFAULT

Causes the image to rotate about its true center. When specifying M_DEFAULT as a center of rotation, it is computed as (source buffer size - 1) / 2.

You can only use this value when rotating an image. In this case, you must pass SrcImageBufId a source image buffer identifier, and not M_NULL.

(summarize)
Click to summarize Value

Specifies the X-coordinate in the pixel coordinate system.

You must specify a specific value for the X coordinate of the source buffer center when only generating the warp matrix to perform the transformation.

(summarize)
SrcCenY

Specifies the Y-coordinate to use as the center of rotation in the source image. This parameter must be set to one of the values below.

function map For specifying the Y-coordinate (source)
Click to summarizeValue Description
Click to summarize M_DEFAULT

Causes the image to rotate about its true center. When specifying M_DEFAULT as a center of rotation, it is computed as (source buffer size - 1) / 2.

You can only use this value when rotating an image. In this case, you must pass SrcImageBufId a source image buffer identifier, and not M_NULL.

(summarize)
Click to summarize Value

Specifies the Y-coordinate in the pixel coordinate system.

You must specify a specific value for the Y coordinate of the source buffer center when only generating the warp matrix to perform the transformation.

(summarize)
DstCenX

Specifies the X-coordinate in the destination buffer to which the specified center of the rotated source image will be mapped. This parameter must be set to one of the values below.

function map For specifying the X-coordinate (destination)
Click to summarizeValue Description
Click to summarize M_DEFAULT

Causes the true center of the destination buffer to be used. When specifying M_DEFAULT as a center of rotation, it is computed as (destination buffer size - 1) / 2.

You can only use this value when rotating an image. In this case, you must pass SrcImageBufId a source image buffer identifier, and not M_NULL.

(summarize)
Click to summarize Value

Specifies the X-coordinate in the pixel coordinate system.

You must specify a specific value for the X coordinate of the destination buffer center when only generating the warp matrix to perform the transformation.

(summarize)
DstCenY

Specifies the Y-coordinate in the destination buffer to which the specified center of the rotated source image will be mapped. This parameter must be set to one of the values below.

function map For specifying the Y-coordinate (destination)
Click to summarizeValue Description
Click to summarize M_DEFAULT

Causes the true center of the destination buffer to be used. When specifying M_DEFAULT as a center of rotation, it is computed as (destination buffer size - 1) / 2.

You can only use this value when rotating an image. In this case, you must pass SrcImageBufId a source image buffer, and not M_NULL.

(summarize)
Click to summarize Value

Specifies the Y-coordinate in the pixel coordinate system.

You must specify a specific value for the Y coordinate of the destination buffer center when only generating the warp matrix to perform the transformation.

(summarize)
InterpolationMode

Specifies the interpolation mode when rotating the source image. When only generating the matrix, this parameter is ignored and should be set to M_DEFAULT.

This parameter must be set to one of the values below.

function map For specifying the interpolation mode
Click to summarizeValue Description MIL system-specific
tooltip (‡)
Click to summarize M_DEFAULT

Specifies the default value. When rotating the source image, the default is the same as M_NEAREST_NEIGHBOR + M_OVERSCAN_ENABLE.

When only generating the coefficients matrix, this is the only possible value.

(summarize)
a c
M10
g h i j k
M10
l m o p r
U27
t
U28
u
U36
v y
U75
aa
Click to summarize M_BICUBIC +

Specifies bicubic interpolation. The new value is determined by taking a weighted average of the 16 values (4x4) that surround the source point. Note that the sum of the weights used for bicubic interpolation might be greater than one. If this occurs and the result reflects an overflow or underflow, the result is saturated according to the depth and data type of the destination buffer.

(summarize)
a c
M10
g h i j k
M10
l m o p r
U27
t
U28
u
U36
v y
U75
aa
Click to summarize M_BILINEAR +

Specifies bilinear interpolation. The new value is determined by taking a weighted average of the 4 values (2x2) that surround the source point.

(summarize)
a c
M10
g h i j k
M10
l m o p r
U27
t
U28
u
U36
v y
U75
aa
Click to summarize M_NEAREST_NEIGHBOR +

Specifies nearest neighbor interpolation. The new value is that of the pixel closest to the source point.

(summarize)
a c
M10
g h i j k
M10
l m o p r
U27
t
U28
u
U36
v y
U75
aa
Combination values for any of the possible values of the InterpolationMode parameter.

You can add one of the following values to the above-mentioned values to specify how to determine the value of a destination pixel when its associated point falls outside the source buffer.

function map For overscan
Click to summarizeCombination value Description MIL system-specific
tooltip (‡)
Click to summarize M_OVERSCAN_CLEAR

Sets the destination pixel to 0.

a c
M10
g h i j k
M10
l m o p r
U27
t
U28
u
U36
v y
U75
aa
Click to summarize M_OVERSCAN_DISABLE

Leaves the destination pixel as is.

a c
M10
g h i j k
M10
l m o p r
U27
t
U28
u
U36
v y
U75
aa
Click to summarize M_OVERSCAN_ENABLE

Uses pixels from the source buffer's ancestor buffer. If the source buffer is not a child buffer or if the point falls outside the ancestor buffer, it leaves the destination pixel as is.

This is the default value.

(summarize)
a c
M10
g h i j k
M10
l m o p r
U27
t
U28
u
U36
v y
U75
aa
MIL system specific

Points falling outside the source image are undefined.

j k
M10
l m p r
U27
y
U75
aa
Click to summarize M_OVERSCAN_FAST

Specifies that MIL will automatically select the overscan that optimizes speed, according to the specified operation and the target system. The overscan could be hardware-specific thereby having a different behavior than the other supported overscan modes.

Note that when using M_OVERSCAN_FAST, the destination pixels in the overscan area are undefined. The pixels can therefore contain different values from one function call to the next, even if the function's parameter values are the same.

(summarize)
a c
M10
g h i j k
M10
l m o p r
U27
t
U28
u
U36
v y
U75
aa
Compilation information
Header Include mil.h.
Library Use mil.lib; milim.lib.
DLL Requires mil.dll; milim.dll.
NULL PROC NONE FLOAT PROC NONE DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT BICUBIC BILINEAR NEAREST NEIGHBOR OVERSCAN CLEAR OVERSCAN DISABLE OVERSCAN ENABLE OVERSCAN FAST