IM: Image Resize

From 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.
    Returns zero if the counter aborted.

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.
    Returns zero if the counter aborted.

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.

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.

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.

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.