This interface provide functionalities of basic and advanced image operations, such as resizing, rotation, arithmetic, blending, tiling, etc. More...
Public Member Functions | |
void | Add (ILImage *img1, ILImage *img2, ILImage *result) |
void | AddScalar (ILImage *img, double scalar, ILImage *result, double scalar2, double scalar3) |
void | AddWeighted (ILImage *img1, ILImage *img2, double alpha, double beta, ILImage *result) |
void | BitAnd (ILImage *img1, ILImage *img2, ILImage *result) |
void | BitAndScalar (ILImage *img, double scalar, ILImage *result, double scalar2, double scalar3) |
void | BitNot (ILImage *img1, ILImage *result) |
void | BitOr (ILImage *img1, ILImage *img2, ILImage *result) |
void | BitOrScalar (ILImage *img, double scalar, ILImage *result, double scalar2, double scalar3) |
void | BitXor (ILImage *img1, ILImage *img2, ILImage *result) |
void | BitXorScalar (ILImage *img, double scalar, ILImage *result, double scalar2, double scalar3) |
void | Blend (ILImageList *imgList, LPVAggregation aggType, ILImage *result) |
void | Diff (ILImage *img1, ILImage *img2, ILImage *result) |
void | DiffScalar (ILImage *img, double scalar, ILImage *result, double scalar2, double scalar3) |
void | Divide (ILImage *img1, ILImage *img2, ILImage *result) |
void | DivideScalar (ILImage *img, double scalar, ILImage *result, double scalar2, double scalar3) |
void | Flip (ILImage *img, LPVFlipType flipType, ILImage *result) |
void | GainOffset (ILImage *img, ILImage *result, double gain, double offset) |
void | Invert (ILImage *img, ILImage *result) |
void | Log (ILImage *img, double base, ILImage *result) |
void | Max (ILImage *img1, ILImage *img2, ILImage *result) |
void | MaxScalar (ILImage *img, double scalar, ILImage *result, double scalar2, double scalar3) |
void | Min (ILImage *img1, ILImage *img2, ILImage *result) |
void | MinScalar (ILImage *img, double scalar, ILImage *result, double scalar2, double scalar3) |
void | Multiply (ILImage *img1, ILImage *img2, ILImage *result) |
void | MultiplyScalar (ILImage *img, double scalar, ILImage *result, double scalar2, double scalar3) |
void | Normalize (ILImage *img, ILImage *resultImg, double fromMinValue, double fromMaxValue, double toMinValue, double toMaxValue, ILImage *belowMask, ILImage *aboveMask) |
void | NormalizeMeanStdDev (ILImage *img, ILImage *resultImg, double k1, double k2, double toMinValue, double toMaxValue, ILImage *belowMask, ILImage *aboveMask) |
void | Pow (ILImage *img, double power, ILImage *result) |
LArray< double > | ProjectX (ILImage *img, LPVAggregation aggType) |
LArray< double > | ProjectY (ILImage *img, LPVAggregation aggType) |
void | Resize (ILImage *img, double zoomX, double zoomY, LPVInterpolationMethod interMethod, ILImage *result) |
void | ResizeTo (ILImage *img, int w, int h, LPVInterpolationMethod interMethod, ILImage *result) |
void | Rotate (ILImage *img, double angle, LPVInterpolationMethod interMethod, ILImage *result) |
void | ScaleRotate (ILImage *img, double angle, double zoomX, double zoomY, double pivotImgX, double pivotImgY, double pivotResultX, double pivotResultY, LPVInterpolationMethod interMethod, ILImage *result) |
void | Split (ILImage *img, int xCount, int xStep, int xSpace, int yCount, int yStep, int ySpace, ILImageList *resultList, BOOL cyclicMode, BOOL sameSize) |
void | SplitX (ILImage *img, int count, int step, int space, ILImageList *resultList, BOOL cyclicMode, BOOL sameSize) |
void | SplitY (ILImage *img, int count, int step, int space, ILImageList *resultList, BOOL cyclicMode, BOOL sameSize) |
void | Sub (ILImage *img1, ILImage *img2, ILImage *result) |
void | SubScalar (ILImage *img, double scalar, ILImage *result, double scalar2, double scalar3) |
void | TileX (ILImageList *imgList, int columnCount, BOOL compactMode, ILImage *result) |
void | TileY (ILImageList *imgList, int rowCount, BOOL compactMode, ILImage *result) |
void | Transform (ILImage *img, ILTransform *tf, LPVInterpolationMethod interMethod, ILImage *result) |
![]() | |
ILObject * | Copy () |
LPVErrorCode | Load (LString filename) |
void | Reset () |
LPVErrorCode | Save (LString filename) |
BOOL | Valid () |
Properties | |
LColor | BGColor [get, set] |
The background color, used to fill the uncovered part in operation such as Rotate(), TileX(). By default, it's black. | |
double | ResultGain [get, set] |
Scale the final result of the operation with the gain value. It should be a non-zero value, by default, it's 1, aka no scale. | |
double | ResultOffset [get, set] |
The offset value added to the final result of the operation, after scaled by ResultGain. Default to 0, aka no offset. | |
![]() | |
LString | Name [get, set] |
Name of the object. By default, the object has no name. In most cases, LPV classes don't make use of the names. The name is drawn on canvas around the object if ILDrawable::SetDrawName() is enabled. More... | |
This interface provide functionalities of basic and advanced image operations, such as resizing, rotation, arithmetic, blending, tiling, etc.
To use this interface, you should create a LImageOp object.
Add the two input images pixel by pixel, output a new result image \( I' = I_{1} + I_{2} \) . \nThe two input image should have the same size and format.
[in] | img1 | The first input image |
[in] | img2 | The second input image |
[out] | result | Return result image |
Add the input images and a scalar value pixel by pixel, output a new result image \( I' = I + s \) .
[in] | img | The input image |
[in] | scalar | The input scalar |
[out] | result | Return result image |
[in] | scalar2 | For a color image to specify the scalar value used for the 2nd channel If both scalar2 and scalar3 is set to 0 (default), we'll use the value scalar for all 3 channels. |
[in] | scalar3 | For a color image to specify the scalar value used for the 3rd channel |
Add the two input images pixel by pixel, output a new result image, \( I' = I_{1} * alpha + I_{2} * beta \) . The two input image should have the same size and format.
[in] | img1 | The first input image |
[in] | img2 | The second input image |
[in] | alpha | The weight of the first input image |
[in] | beta | The weight of the second input image |
[out] | result | Return result image |
Calculate the bit-wise conjunction of the two input images pixel by pixel, output a new result image \( I' = I_{1} \land I_{2} \) . \nThe two input image should have the same size and format.
[in] | img1 | The first input image |
[in] | img2 | The second input image |
[out] | result | Return result image |
void BitAndScalar | ( | ILImage * | img, |
double | scalar, | ||
ILImage * | result, | ||
double | scalar2, | ||
double | scalar3 | ||
) |
Calculate the bit-wise conjunction of the input images and a scalar value pixel by pixel, output a new result image \( I' = I \land s \) .
[in] | img | The input image |
[in] | scalar | The input scalar |
[out] | result | Return result image |
[in] | scalar2 | For a color image to specify the scalar value used for the 2nd channel If both scalar2 and scalar3 is set to 0 (default), we'll use the value scalar for all 3 channels. |
[in] | scalar3 | For a color image to specify the scalar value used for the 3rd channel |
Calculate the bit-wise inversion of the input images pixel by pixel, output a new result image \( I' = \lnot I \) .
[in] | img | The input image |
[out] | result | Return result image |
Calculate the bit-wise disjunction of the two input images pixel by pixel, output a new result image \( I' = I_{1} \lor I_{2} \) . \nThe two input image should have the same size and format.
[in] | img1 | The first input image |
[in] | img2 | The second input image |
[out] | result | Return result image |
Calculate the bit-wise disjunction of the input images and a scalar value pixel by pixel, output a new result image \( I' = I \lor s \) .
[in] | img | The input image |
[in] | scalar | The input scalar |
[out] | result | Return result image |
[in] | scalar2 | For a color image to specify the scalar value used for the 2nd channel If both scalar2 and scalar3 is set to 0 (default), we'll use the value scalar for all 3 channels. |
[in] | scalar3 | For a color image to specify the scalar value used for the 3rd channel |
Calculate the bit-wise "exclusive or" operation of the two input images pixel by pixel, output a new result image \( I' = I_{1} \oplus I_{2} \) . \nThe two input image should have the same size and format.
[in] | img1 | The first input image |
[in] | img2 | The second input image |
[out] | result | Return result image |
void BitXorScalar | ( | ILImage * | img, |
double | scalar, | ||
ILImage * | result, | ||
double | scalar2, | ||
double | scalar3 | ||
) |
Calculate the bit-wise "exclusive or" operation of the input images and a scalar value pixel by pixel, output a new result image \( I' = I \oplus s \) .
[in] | img | The input image |
[in] | scalar | The input scalar |
[out] | result | Return result image |
[in] | scalar2 | For a color image to specify the scalar value used for the 2nd channel If both scalar2 and scalar3 is set to 0 (default), we'll use the value scalar for all 3 channels. |
[in] | scalar3 | For a color image to specify the scalar value used for the 3rd channel |
void Blend | ( | ILImageList * | imgList, |
LPVAggregation | aggType, | ||
ILImage * | result | ||
) |
Multi-frame image blending allows user to accumulate a number of acquired images of the same scene and generate one blending image. Different aggregation type may be used for different purposes.
Aggregation Type | Usage |
---|---|
Average | Reduce image noise, generate a reliable image where lighting can be erratic. |
Min | Reduce light areas, for example, the overexposed parts. |
Max | Reduce shadows |
Standard deviation | Lighter pixels indicate a higher degree of variation between images. |
Note: other aggregation types are not supported.
[in] | imgList | The input image list for blending. |
[in] | aggType | The aggregation method used for blending. |
[out] | result | Output the blending result. |
Calculate the difference of the two input images pixel by pixel, output a new result image \( I' = abs(I_{1} - I_{2}) \) . \nThe two input image should have the same size and format.
[in] | img1 | The first input image |
[in] | img2 | The second input image |
[out] | result | Return result image |
Calculate the difference of the input images and a scalar value pixel by pixel, output a new result image \( I' = abs(I - s) \) .
[in] | img | The input image |
[in] | scalar | The input scalar |
[out] | result | Return result image |
[in] | scalar2 | For a color image to specify the scalar value used for the 2nd channel If both scalar2 and scalar3 is set to 0 (default), we'll use the value scalar for all 3 channels. |
[in] | scalar3 | For a color image to specify the scalar value used for the 3rd channel |
Divide the first input image by the second input image pixel by pixel, output a new result image \( I' = I_{1} / I_{2} \) . \nThe two input image should have the same size and format.
[in] | img1 | The first input image |
[in] | img2 | The second input image |
[out] | result | Return result image |
void DivideScalar | ( | ILImage * | img, |
double | scalar, | ||
ILImage * | result, | ||
double | scalar2, | ||
double | scalar3 | ||
) |
Divide the input image by a scalar value pixel by pixel, output a new result image \( I' = I / s \) .
[in] | img | The input image |
[in] | scalar | The input scalar |
[out] | result | Return result image |
[in] | scalar2 | For a color image to specify the scalar value used for the 2nd channel If both scalar2 and scalar3 is set to 0 (default), we'll use the value scalar for all 3 channels. |
[in] | scalar3 | For a color image to specify the scalar value used for the 3rd channel |
void Flip | ( | ILImage * | img, |
LPVFlipType | flipType, | ||
ILImage * | result | ||
) |
Flip an image horizontally or/and vertically.
If the pass-in result image object is empty, then we'll use the same size as the input. Otherwise, the original size is kept and the border pixels are filled with background color(default to black).
[in] | img | The input image |
[in] | flipType | The type of flip |
[out] | result | Return result image Otherwise, the original size is kept. |
Scale an image with the given gain value, then add the given offset value, \( I' = I * gain + offset \).
[in] | img | The input image |
[out] | result | Return result image |
[in] | gain | The gain value |
[in] | offset | The offset value |
Invert an image, \( I' = 255 - I \) for 8bit images, and \( I' = 65535 - I \) for 16bit images.
[in] | img | The input image |
[out] | result | Return result image |
Calculate the logarithm of the input image pixel by pixel, output a new result image, \( I' = \log_{base}{I} \) .
[in] | img | The input image |
[in] | base | The input base, should be a positive value |
[out] | result | Return result image |
Calculate the maximum of the two input images pixel by pixel, output a new result image \( I' = \max (I_{1}, I_{2}) \) . \nThe two input image should have the same size and format.
[in] | img1 | The first input image |
[in] | img2 | The second input image |
[out] | result | Return result image |
Calculate the maximum of the input images and a scalar value pixel by pixel, output a new result image \( I' = \max (I, s) \) .
[in] | img | The input image |
[in] | scalar | The input scalar |
[out] | result | Return result image |
[in] | scalar2 | For a color image to specify the scalar value used for the 2nd channel If both scalar2 and scalar3 is set to 0 (default), we'll use the value scalar for all 3 channels. |
[in] | scalar3 | For a color image to specify the scalar value used for the 3rd channel |
Calculate the minimum of the two input images pixel by pixel, output a new result image \( I' = \min (I_{1}, I_{2}) \) . \nThe two input image should have the same size and format.
[in] | img1 | The first input image |
[in] | img2 | The second input image |
[out] | result | Return result image |
Calculate the minimum of the input images and a scalar value pixel by pixel, output a new result image \( I' = \min (I, s \))} .
[in] | img | The input image |
[in] | scalar | The input scalar |
[out] | result | Return result image |
[in] | scalar2 | For a color image to specify the scalar value used for the 2nd channel If both scalar2 and scalar3 is set to 0 (default), we'll use the value scalar for all 3 channels. |
[in] | scalar3 | For a color image to specify the scalar value used for the 3rd channel |
Multiply the two input images pixel by pixel, output a new result image \( I' = I_{1} \cdot I_{2} \) . \nThe two input image should have the same size and format.
[in] | img1 | The first input image |
[in] | img2 | The second input image |
[out] | result | Return result image |
void MultiplyScalar | ( | ILImage * | img, |
double | scalar, | ||
ILImage * | result, | ||
double | scalar2, | ||
double | scalar3 | ||
) |
Multiply the input images and a scalar value pixel by pixel, output a new result image \( I' = I \cdot s \) .
[in] | img | The input image |
[in] | scalar | The input scalar |
[out] | result | Return result image |
[in] | scalar2 | For a color image to specify the scalar value used for the 2nd channel If both scalar2 and scalar3 is set to 0 (default), we'll use the value scalar for all 3 channels. |
[in] | scalar3 | For a color image to specify the scalar value used for the 3rd channel |
void Normalize | ( | ILImage * | img, |
ILImage * | resultImg, | ||
double | fromMinValue, | ||
double | fromMaxValue, | ||
double | toMinValue, | ||
double | toMaxValue, | ||
ILImage * | belowMask, | ||
ILImage * | aboveMask | ||
) |
Normalize the given image, stretching the values between the given minimum and maximum value to the target range. The image depth is not changed, the output image has the same depth and channels as the input. For a multi-channel color image, it outputs a color image and each channel is normalized on its own.
[in] | img | The input image |
[in] | fromMinValue,fromMaxValue | The specified value of interest. Pass in empty range (0, 0) to use the minimum / maximum of current image. |
[in] | toMinValue,toMaxValue | The target value range. Pass in empty range (0, 0) to use theoretical value range based on image depth, aka. 0 ~ 255 for 8bit images, 0 ~ 65536 for 16bit images. |
[out] | resultImg | Output the normalized image |
[out] | belowMask,aboveMask | ![]() ![]() fromMinValue or above fromMaxValue . You may then fill those pixels to black or target minimum / maximum values, or patch via FillHole(). It's optional, pass in null if unnecessary. |
void NormalizeMeanStdDev | ( | ILImage * | img, |
ILImage * | resultImg, | ||
double | k1, | ||
double | k2, | ||
double | toMinValue, | ||
double | toMaxValue, | ||
ILImage * | belowMask, | ||
ILImage * | aboveMask | ||
) |
Normalize the given image based on its current mean and standard derivation, stretching the range \( (Mean - k1 \times StdDev, Mean + k2 \times StdDev) \) to target range. The image depth is not changed, the output image has the same depth and channels as the input.
[in] | img | The input image |
[in] | k1 | The factor revised to the lower bound formed by mean and standard derivation. |
[in] | k2 | The factor revised to the upper bound formed by mean and standard derivation. Pass in negative value to use same factor as k1 . |
[in] | toMinValue,toMaxValue | The target value range. Pass in empty range (0, 0) to use theoretical value range based on image depth, aka. 0 ~ 255 for 8bit images, 0 ~ 65536 for 16bit images. |
[out] | resultImg | Output the normalized image |
[out] | belowMask,aboveMask | ![]() ![]() fromMinValue or above fromMaxValue . You may then fill those pixels to black or target minimum / maximum values, or patch via FillHole(). It's optional, pass in null if unnecessary. |
Calculate the power(exponentiation) of the input image pixel by pixel, output a new result image, \( I' = I^{power} \) .
[in] | img | The input image |
[in] | power | The input exponent or power |
[out] | result | Return result image |
LArray<double> ProjectX | ( | ILImage * | img, |
LPVAggregation | aggType | ||
) |
Projects an image horizontally, aggregating pixels on each row
[in] | img | ![]() ![]() |
[in] | aggType | The aggregation method used for projection. |
result | Return the projection result vector, it's a list of double values. |
LArray<double> ProjectY | ( | ILImage * | img, |
LPVAggregation | aggType | ||
) |
Projects an image vertically, aggregating pixels on each column
[in] | img | ![]() ![]() |
[in] | aggType | The aggregation method used for projection. |
result | Return the projection result vector, it's a list of double values. |
void Resize | ( | ILImage * | img, |
double | zoomX, | ||
double | zoomY, | ||
LPVInterpolationMethod | interMethod, | ||
ILImage * | result | ||
) |
Resize an image by the given scale factor, using the image center as the pivot point.
If the pass-in result image object is empty, then we'll use the same size as the input. Otherwise, the original size is kept and the border pixels are filled with background color(default to black).
[in] | img | The input image |
[in] | zoomX | Factor for zooming in or out in the x-coordinate direction. |
[in] | zoomY | Factor for zooming in or out in the y-coordinate direction. Setting to 0 means same zoom factor as zoomX, aka. isotropic scaling. |
[in] | interMethod | The interpolation method used in resizing |
[out] | result | Return result image |
void ResizeTo | ( | ILImage * | img, |
int | w, | ||
int | h, | ||
LPVInterpolationMethod | interMethod, | ||
ILImage * | result | ||
) |
Resize an image to the given new size.
If the pass-in result image object is empty, then we'll use the same size as the input. Otherwise, the original size is kept and the border pixels are filled with background color(default to black).
[in] | img | The input image |
[in] | w | The width of the new size |
[in] | h | The height of the new size |
[in] | interMethod | The interpolation method used in resizing |
[out] | result | Return result image |
void Rotate | ( | ILImage * | img, |
double | angle, | ||
LPVInterpolationMethod | interMethod, | ||
ILImage * | result | ||
) |
Rotate an image by the given degree clockwise, using the image center as the pivot point.
If the pass-in result image object is empty, then we'll use the same size as the input. Otherwise, the original size is kept and the border pixels are filled with background color(default to black).
[in] | img | The input image |
[in] | angle | The rotation angle |
[in] | interMethod | The interpolation method used in rotation |
[out] | result | Return result image |
void ScaleRotate | ( | ILImage * | img, |
double | angle, | ||
double | zoomX, | ||
double | zoomY, | ||
double | pivotImgX, | ||
double | pivotImgY, | ||
double | pivotResultX, | ||
double | pivotResultY, | ||
LPVInterpolationMethod | interMethod, | ||
ILImage * | result | ||
) |
Scale and rotate an image, using the user-defined pivot points.
If the pass-in result image object is empty, then we'll use the same size as the input. Otherwise, the original size is kept and the border pixels are filled with background color(default to black).
[in] | img | The input image |
[in] | angle | The clockwise rotation angle in degrees |
[in] | zoomX | Factor for zooming in or out in the x-coordinate direction. |
[in] | zoomY | Factor for zooming in or out in the y-coordinate direction. Setting to 0 means same zoom factor as zoomX, aka. isotropic scaling. |
[in] | pivotImgX | The x-coordinate of the pivot point on the input image. The pivot point is used as the center of the scale and rotation. |
[in] | pivotImgY | The y-coordinate of the pivot point on the input image. |
[in] | pivotResultX | The x-coordinate of the pivot point on the result image. It's the "same" pixel as the pivot point in the input image. |
[in] | pivotResultY | The y-coordinate of the pivot point on the result image. |
[in] | interMethod | The interpolation method used in resizing |
[out] | result | Return result image |
void Split | ( | ILImage * | img, |
int | xCount, | ||
int | xStep, | ||
int | xSpace, | ||
int | yCount, | ||
int | yStep, | ||
int | ySpace, | ||
ILImageList * | resultList, | ||
BOOL | cyclicMode, | ||
BOOL | sameSize | ||
) |
Split a image into a grid of several images.
[in] | img | The input image |
[in] | xCount,yCount | Specify the split count in column / row |
[in] | xStep,yStep | The column / row step for individual split. For non cyclical mode, this should be the width / height of the result images. While for cyclical mode, we collect those count column / row in each cycle to form the final results. |
[in] | xSpace,ySpace | The space between split in column / row |
[in] | cyclicMode | Whether to enable cyclical mode, which will cyclically repeat the splitting until the entire image is processed. Individual splitting results are merged together as the final results. By default, it's true. |
[in] | sameSize | Whether to make sure all result images have the same size. The undefined pixels are filled with background color. |
[out] | result | Output the result images' collection row by row from top to bottom then from left to right. |
void SplitX | ( | ILImage * | img, |
int | count, | ||
int | step, | ||
int | space, | ||
ILImageList * | resultList, | ||
BOOL | cyclicMode, | ||
BOOL | sameSize | ||
) |
Split a image horizontally into several images.
[in] | img | The input image |
[in] | count | Specify the split count |
[in] | step | The column step for individual split. For non cyclical mode, this should be the width of the result images. While for cyclical mode, we collect those count columns in each cycle to form the final results. |
[in] | space | The space between split |
[in] | cyclicMode | Whether to enable cyclical mode, which will cyclically repeat the splitting until the entire image is processed. Individual splitting results are merged together as the final results. By default, it's true. |
[in] | sameSize | Whether to make sure all result images have the same size. The undefined pixels are filled with background color. |
[out] | result | Output the result images' collection from left to right |
void SplitY | ( | ILImage * | img, |
int | count, | ||
int | step, | ||
int | space, | ||
ILImageList * | resultList, | ||
BOOL | cyclicMode, | ||
BOOL | sameSize | ||
) |
Split a image vertically into several images.
[in] | img | The input image |
[in] | count | Specify the split count |
[in] | step | The row step for individual split. For non cyclical mode, this should be the height of the result images. While for cyclical mode, we collect those count rows in each cycle to form the final results. |
[in] | space | The space between split |
[in] | cyclicMode | Whether to enable cyclical mode, which will cyclically repeat the splitting until the entire image is processed. Individual splitting results are merged together as the final results. By default, it's true. |
[in] | sameSize | Whether to make sure all result images have the same size. The undefined pixels are filled with background color. |
[out] | result | Output the result images' collection from top to bottom |
Subtract two input images pixel by pixel, output a new result image \( I' = I_{1} - I_{2} \) . \nThe two input image should have the same size and format.
[in] | img1 | The first input image |
[in] | img2 | The second input image |
[out] | result | Return result image |
Subtract a scalar value from the input images pixel by pixel, output a new result image \( I' = I - s \) .
[in] | img | The input image |
[in] | scalar | The input scalar |
[out] | result | Return result image |
[in] | scalar2 | For a color image to specify the scalar value used for the 2nd channel If both scalar2 and scalar3 is set to 0 (default), we'll use the value scalar for all 3 channels. |
[in] | scalar3 | For a color image to specify the scalar value used for the 3rd channel |
void TileX | ( | ILImageList * | imgList, |
int | columnCount, | ||
BOOL | compactMode, | ||
ILImage * | result | ||
) |
Tile a list of images into a large image horizontally.
[in] | imgList | The input image list |
[in] | columnCount | The number of images in one row. Pass in 0 or negative value to tile into one line. If the total count of the inputs is not a multiple of the specified column count, the last row are filled with background color. |
[in] | compactMode | In compact mode(True), images of different sizes in a horizontal row are copied contiguously. Otherwise(False), result size is determined by the maximum width and height, and the smaller images are copied to the center of the respective tile. |
[out] | result | Output the result image. |
void TileY | ( | ILImageList * | imgList, |
int | rowCount, | ||
BOOL | compactMode, | ||
ILImage * | result | ||
) |
Tile a list of images into a large image vertically.
[in] | imgList | The input image list |
[in] | rowCount | The number of images in one column. Pass in 0 or negative value to tile into one line. If the total count of the inputs is not a multiple of the specified row count, the last column are filled with background color. |
[in] | compactMode | In compact mode(True), images of different sizes in a vertical column are copied contiguously. Otherwise(False), result size is determined by the maximum width and height, and the smaller images are copied to the center of the respective tile. |
[out] | result | Output the result image. |
void Transform | ( | ILImage * | img, |
ILTransform * | tf, | ||
LPVInterpolationMethod | interMethod, | ||
ILImage * | result | ||
) |
Transform the image via the given transformation and return a new image.
If the pass-in result image object is empty, then we'll use the same size as the input. Otherwise, the original size is kept and the border pixels are filled with background color(default to black).
[in] | img | The input image. |
[in] | tf | The transformation. |
[in] | interMethod | The interpolation method used in resizing |
[out] | result | Return result image. |