IM: Image Resize

IM - An Imaging Tool

Image Resize
[Image Processing]


Detailed Description

Operations to change the image size.
See im_process_loc.h


Functions

int imProcessReduce (const imImage *src_image, imImage *dst_image, int order)
int imProcessResize (const imImage *src_image, imImage *dst_image, int order)
void imProcessReduceBy4 (const imImage *src_image, imImage *dst_image)
void imProcessCrop (const imImage *src_image, imImage *dst_image, int xmin, int ymin)
void imProcessInsert (const imImage *src_image, const imImage *region_image, imImage *dst_image, int xmin, int ymin)
void imProcessAddMargins (const imImage *src_image, imImage *dst_image, int xmin, int ymin)

Function Documentation

int imProcessReduce const imImage src_image,
imImage dst_image,
int  order
 

Only reduze the image size using the given decimation order.
Supported decimation orders:

  • 0 - zero order (mean)
  • 1 - first order (bilinear decimation) Images must be of the same type. If image type is IM_MAP or IM_BINARY, must use order=0.
    Returns zero if the counter aborted.
im.ProcessReduce(src_image: imImage, dst_image: imImage, order: number) -> counter: boolean [in Lua 5] 
im.ProcessReduceNew(image: imImage, order: number) -> counter: boolean, new_image: imImage [in Lua 5] 

int imProcessResize const imImage src_image,
imImage dst_image,
int  order
 

Change the image size using the given interpolation order.
Supported interpolation orders:

  • 0 - zero order (near neighborhood)
  • 1 - first order (bilinear interpolation)
  • 3 - third order (bicubic interpolation) Images must be of the same type. If image type is IM_MAP or IM_BINARY, must use order=0.
    Returns zero if the counter aborted.
im.ProcessResize(src_image: imImage, dst_image: imImage, order: number) -> counter: boolean [in Lua 5] 
im.ProcessResizeNew(image: imImage, order: number) -> counter: boolean, new_image: imImage [in Lua 5] 

void imProcessReduceBy4 const imImage src_image,
imImage dst_image
 

Reduze the image area by 4 (w/2,h/2).
Images must be of the same type. Destiny image size must be source image width/2, height/2. Can not operate on IM_MAP nor IM_BINARY images.

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

void imProcessCrop const imImage src_image,
imImage dst_image,
int  xmin,
int  ymin
 

Extract a rectangular region from an image.
Images must be of the same type. Destiny image size must be smaller than source image width-xmin, height-ymin.
ymin and xmin must be >0 and <size.

im.ProcessCrop(src_image: imImage, dst_image: imImage, xmin: number, ymin: number) [in Lua 5] 
im.ProcessCropNew(image: imImage, xmin: number, xmax: number, ymin: number, ymax: number) -> new_image: imImage [in Lua 5] 

void imProcessInsert const imImage src_image,
const imImage region_image,
imImage dst_image,
int  xmin,
int  ymin
 

Insert a rectangular region in an image.
Images must be of the same type. Region image size can be larger than source image.
ymin and xmin must be >0 and <size.
Source and destiny must be of the same size. Can be done in place.

im.ProcessInsert(src_image: imImage, region_image: imImage, dst_image: imImage, xmin: number, ymin: number) [in Lua 5] 
im.ProcessInsertNew(image: imImage, region_image: imImage, xmin: number, ymin: number) -> new_image: imImage [in Lua 5] 

void imProcessAddMargins const imImage src_image,
imImage dst_image,
int  xmin,
int  ymin
 

Increase the image size by adding pixels with zero value.
Images must be of the same type. Destiny image size must be greatter than source image width+xmin, height+ymin.

im.ProcessAddMargins(src_image: imImage, dst_image: imImage, xmin: number, ymin: number) [in Lua 5] 
im.ProcessAddMarginsNew(image: imImage, xmin: number, xmax: number, ymin: number, ymax: number) -> new_image: imImage [in Lua 5]