IM: Geometric Operations

IM - An Imaging Tool

Geometric Operations
[Image Processing]


Detailed Description

Operations to change the shape of the image.
See im_process_loc.h


Functions

void imProcessCalcRotateSize (int width, int height, int *new_width, int *new_height, double cos0, double sin0)
int imProcessRotate (const imImage *src_image, imImage *dst_image, double cos0, double sin0, int order)
void imProcessRotate90 (const imImage *src_image, imImage *dst_image, int dir_clockwise)
void imProcessRotate180 (const imImage *src_image, imImage *dst_image)
void imProcessMirror (const imImage *src_image, imImage *dst_image)
void imProcessFlip (const imImage *src_image, imImage *dst_image)
int imProcessRadial (const imImage *src_image, imImage *dst_image, float k1, int order)

Function Documentation

void imProcessCalcRotateSize int  width,
int  height,
int *  new_width,
int *  new_height,
double  cos0,
double  sin0
 

Calculates the size of the new image after rotation.

im.ProcessCalcRotateSize(width: number, height: number, cos0: number, sin0: number) [in Lua 5] 

int imProcessRotate const imImage src_image,
imImage dst_image,
double  cos0,
double  sin0,
int  order
 

Rotates the image using the given interpolation order (see imProcessResize).
Images must be of the same type. The destiny size can be calculated using imProcessCalcRotateSize.
Returns zero if the counter aborted.

im.ProcessRotate(src_image: imImage, dst_image: imImage, cos0: number, sin0: number, order: number) -> counter: boolean [in Lua 5] 
im.ProcessRotateNew(image: imImage, cos0: number, sin0: number, order: number) -> counter: boolean, new_image: imImage [in Lua 5] 

void imProcessRotate90 const imImage src_image,
imImage dst_image,
int  dir_clockwise
 

Rotate the image in 90 degrees counterclockwise or clockwise. Swap columns by lines.
Images must be of the same type. Destiny width and height must be source height and width.
Direction can be clockwise (1) or counter clockwise (-1).

im.ProcessRotate90(src_image: imImage, dst_image: imImage, dir_clockwise: boolean) [in Lua 5] 
im.ProcessRotate90New(image: imImage, dir_clockwise: boolean) -> new_image: imImage [in Lua 5] 

void imProcessRotate180 const imImage src_image,
imImage dst_image
 

Rotate the image in 180 degrees. Swap columns and swap lines.
Images must be of the same type and size.

im.ProcessRotate180(src_image: imImage, dst_image: imImage) [in Lua 5] 
im.ProcessRotate180New(image: imImage) -> new_image: imImage [in Lua 5] 

void imProcessMirror const imImage src_image,
imImage dst_image
 

Mirrors the image in a horizontal flip. Swap columns.
Images must be of the same type and size.

im.ProcessMirror(src_image: imImage, dst_image: imImage) [in Lua 5] 
im.ProcessMirrorNew(image: imImage) -> new_image: imImage [in Lua 5] 

void imProcessFlip const imImage src_image,
imImage dst_image
 

Apply a vertical flip. Swap lines.
Images must be of the same type and size.

im.ProcessFlip(src_image: imImage, dst_image: imImage) [in Lua 5] 
im.ProcessFlipNew(image: imImage) -> new_image: imImage [in Lua 5] 

int imProcessRadial const imImage src_image,
imImage dst_image,
float  k1,
int  order
 

Apply a radial distortion using the given interpolation order (see imProcessResize).
Images must be of the same type and size. Returns zero if the counter aborted.

im.ProcessRadial(src_image: imImage, dst_image: imImage, k1: number, order: number) -> counter: boolean [in Lua 5] 
im.ProcessRadialNew(image: imImage, k1: number, order: number) -> counter: boolean, new_image: imImage [in Lua 5]