Table: | For specifying the mode of interpolation |
+ combination: | For overscan |
MIL_ID SrcImageBufId, | //in |
MIL_ID DstImageOrArrayBufId, | //in |
MIL_DOUBLE ScaleFactorX, | //in |
MIL_DOUBLE ScaleFactorY, | //in |
MIL_INT64 InterpolationMode | //in |
This function resizes the source image by the specified factors and stores results in the destination buffer starting from the top-left corner. Alternatively, this function can generate the 3x3 or 3x2 matrix required to perform the transformation using MimWarp().
Specifies the source image to resize if performing the transformation. This parameter can be set to one of the following values:
For specifying the source image buffer
identifier
|
|||||||||||||||||||||||||||||||||||||||
Value | Description | ||||||||||||||||||||||||||||||||||||||
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 resizing. |
||||||||||||||||||||||||||||||||||||||
MIL image buffer identifier |
Specifies the identifier of the source image buffer to resize. 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)Specifies the identifier of the source image buffer to resize. (more details...) |
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:
For specifying the destination buffer
identifier
|
|||||||||||||||||||||||||||||||||||||||
Value | Description | ||||||||||||||||||||||||||||||||||||||
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)Specifies the identifier of the destination M_ARRAY buffer when generating the matrix. (more details...) |
||||||||||||||||||||||||||||||||||||||
MIL image buffer identifier |
Specifies the identifier of the destination image buffer when resizing the source image. 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)Specifies the identifier of the destination image buffer when resizing the source image. (more details...) |
Specifies the horizontal scaling factor. This parameter can be set to one of the values below.
For specifying the scaling factor
(width)
|
|||||||||||||||||||||||||||||||||||||||
Value | Description | ||||||||||||||||||||||||||||||||||||||
M_FILL_DESTINATION |
Specifies to use a scaling factor that resizes the source image to fill the entire width of the destination buffer. When set to M_FILL_DESTINATION, the source image is resized to fill the entire width of the destination buffer. You can only use this value when resizing an image. In this case, you must pass SrcImageBufId a source image buffer identifier, and not M_NULL. (summarize)Specifies to use a scaling factor that resizes the source image to fill the entire width of the destination buffer. (more details...) |
||||||||||||||||||||||||||||||||||||||
Value > 0.0 |
Specifies the horizontal scaling factor. A value greater than 1.0 enlarges the source image, while a factor less than 1.0 reduces it. You must specify a specific value for the horizontal scaling factor when only generating the matrix to perform the transformation. (summarize)Specifies the horizontal scaling factor. (more details...) |
Specifies the vertical scaling factor. This parameter can be set to one of the values below.
For specifying the scaling factor
(height)
|
|||||||||||||||||||||||||||||||||||||||
Value | Description | ||||||||||||||||||||||||||||||||||||||
M_FILL_DESTINATION |
Specifies to use a scaling factor that resizes the source image to fill the entire height of the destination buffer. When set to M_FILL_DESTINATION, the source image is resized to fill the entire height of the destination buffer. You can only use this value when resizing an image. In this case, you must pass SrcImageBufId a source image buffer identifier, and not M_NULL. (summarize)Specifies to use a scaling factor that resizes the source image to fill the entire height of the destination buffer. (more details...) |
||||||||||||||||||||||||||||||||||||||
Value > 0.0 |
Specifies the vertical scaling factor. A value greater than 1.0 enlarges the source image, while a factor less than 1.0 reduces it. You must specify a specific value for the vertical scaling factor when only generating the matrix to perform the transformation. (summarize)Specifies the vertical scaling factor. (more details...) |
Specifies the interpolation mode when resizing the source image. When only generating the matrix, this parameter is ignored and should be set to M_DEFAULT.
This parameter can be set to one of the values below.
For specifying the mode of interpolation
|
|||||||||||||||||||||||||||||||||||||||
Value | Description |
MIL system-specific tooltip (‡) |
|||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Specifies the default value. When resizing 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)Specifies the default value. (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||
M_AVERAGE + |
Specifies averaging interpolation. The scaling factors for the width and height of the source image must be less than or equal to 1. (summarize)Specifies averaging interpolation. (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||
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)Specifies bicubic interpolation. (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||
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)Specifies bilinear interpolation. (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||
M_INTERPOLATE + |
Specifies interpolated resizing. For resizing up, this is equivalent to bilinear; for resizing down, this is equivalent to averaging. This gives the best speed/result compromise for interpolated resizing. (summarize)Specifies interpolated resizing. (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||
M_MAX + |
Specifies an interpolation based on the maximum pixel value in the specified source image. The scaling factors for the width and height of the source image must be less than or equal to 1. (summarize)Specifies an interpolation based on the maximum pixel value in the specified source image. (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||
M_MIN + |
Specifies an interpolation based on the minimum pixel value in the specified source image. The scaling factors for the width and height of the source image must be less than or equal to 1. (summarize)Specifies an interpolation based on the minimum pixel value in the specified source image. (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa | ||||||||||||||||||||
M_NEAREST_NEIGHBOR + |
Specifies nearest neighbor interpolation. The new value is that of the pixel closest to the source point. (summarize)Specifies nearest neighbor interpolation. (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa |
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.
For overscan
|
|||||||||||||||||||||||||||||||||||||||
Combination value | Description |
MIL system-specific tooltip (‡) |
|||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||
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 | ||||||||||||||||||||
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)Uses pixels from the source buffer's ancestor buffer. (more details...) |
‡ | 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 | ||||||||||||||||||||||||||||||
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)Specifies that MIL will automatically select the overscan that optimizes speed, according to the specified operation and the target system. (more details...) |
‡ | a | c M10 |
g | h | i | j | k M10 |
l | m | o | p | r U27 |
t U28 |
u U36 |
v | y U75 |
aa |
Header | Include mil.h. |
Library | Use mil.lib; milim.lib. |
DLL | Requires mil.dll; milim.dll. |