Content-type: text/html Man page of mlib_ImageConvolveMxN

mlib_ImageConvolveMxN

Section: mediaLib Library Functions (3MLIB)
Updated: 2 Mar 2007
Index Return to Main Contents
 

NAME

mlib_ImageConvolveMxN - MxN convolution, with kernel analysis for taking advantage of special cases  

SYNOPSIS

cc [ flag... ] file... -lmlib [ library... ]
#include <mlib.h>

mlib_status mlib_ImageConvolveMxN(mlib_image *dst, const mlib_image *src,
    const mlib_d64 *kernel, mlib_s32 m, mlib_s32 n, mlib_s32 dm,
    mlib_s32 dn, mlib_s32 cmask, mlib_edge edge);

 

DESCRIPTION

The mlib_ImageConvolveMxN() function analyzes the convolution kernel, converts the floating-point kernel to an integer kernel, then performs a MxN convolution on the source image by calling either one of the functions like mlib_ImageSConv3x3(), mlib_ImageConv3x3(), and etc. in special cases or mlib_ImageConvMxN() in other cases.

The input image and the output image must have the same image type and have the same number of channels. The unselected channels in the output image are not overwritten. For single-channel images, the channel mask is ignored.

It uses the following equation:

               m-1-dm n-1-dn
dst[x][y][i] =  SUM    SUM  src[x+p][y+q][i]*k[p][q]
              p=-dm  q=-dn

where m ≥ 1, n ≥ 1, 0 ≤ dm < m, 0 ≤ dn < n.  

PARAMETERS

The function takes the following arguments:

dst

Pointer to destination image.

src

Pointer to source image.

kernel

Pointer to the convolution kernel, in row major order.

m

Width of the convolution kernel. m ≥ 1.

n

Height of the convolution kernel. n ≥ 1.

dm

X coordinate of the key element in the convolution kernel. 0 ≤ dm < m.

dn

Y coordinate of the key element in the convolution kernel. 0 ≤ dn < n.

cmask

Channel mask to indicate the channels to be convolved, each bit of which represents a channel in the image. The channels corresponding to 1 bits are those to be processed. For a single-channel image, the channel mask is ignored.

edge

Type of edge condition. It can be one of the following:

MLIB_EDGE_DST_NO_WRITE
MLIB_EDGE_DST_FILL_ZERO
MLIB_EDGE_DST_COPY_SRC
MLIB_EDGE_SRC_EXTEND

 

RETURN VALUES

The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.  

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE

Interface StabilityCommitted

MT-Level

 

SEE ALSO

mlib_ImageConv2x2(3MLIB), mlib_ImageConv2x2_Fp(3MLIB), mlib_ImageConv2x2Index(3MLIB), mlib_ImageConv3x3(3MLIB), mlib_ImageConv3x3_Fp(3MLIB), mlib_ImageConv3x3Index(3MLIB), mlib_ImageConv4x4(3MLIB), mlib_ImageConv4x4_Fp(3MLIB), mlib_ImageConv4x4Index(3MLIB), mlib_ImageConv5x5(3MLIB), mlib_ImageConv5x5_Fp(3MLIB), mlib_ImageConv5x5Index(3MLIB), mlib_ImageConv7x7(3MLIB), mlib_ImageConv7x7_Fp(3MLIB), mlib_ImageConv7x7Index(3MLIB), mlib_ImageConvKernelConvert(3MLIB), mlib_ImageConvMxN(3MLIB), mlib_ImageConvMxN_Fp(3MLIB), mlib_ImageConvMxNIndex(3MLIB), mlib_ImageConvolveMxN_Fp(3MLIB), mlib_ImageSConv3x3(3MLIB), mlib_ImageSConv3x3_Fp(3MLIB), mlib_ImageSConv5x5(3MLIB), mlib_ImageSConv5x5_Fp(3MLIB), mlib_ImageSConv7x7(3MLIB), mlib_ImageSConv7x7_Fp(3MLIB), mlib_ImageSConvKernelConvert(3MLIB), attributes(5)


 

Index

NAME
SYNOPSIS
DESCRIPTION
PARAMETERS
RETURN VALUES
ATTRIBUTES
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 02:38:04 GMT, October 02, 2010