Documentation / IM - An Imaging Tool / IM: Image Resize
IM: Image Resize
From IM - An Imaging Tool
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.
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.
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.
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]