man pages section 3: Multimedia Library Functions

Exit Print View

Updated: July 2014
 
 

mlib_ImageConv3x3_Fp (3MLIB)

Name

mlib_ImageConv3x3_Fp - 3x3 convolution

Synopsis

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

mlib_status mlib_ImageConv3x3_Fp(mlib_image *dst, const mlib_image *src,
     const mlib_d64 *kernel, mlib_s32 cmask, mlib_edge edge);

Description

The mlib_ImageConv3x3_Fp() function performs a floating-point 3x3 convolution on the source image by using the user-supplied kernel.

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.

For this convolution, the key element of the convolution kernel is located at the center of the kernel matrix.

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 = 3, n = 3, dm = (m - 1)/2 = 1, dn = (n - 1)/2 = 1.

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.

cmask

Channel mask to indicate the channels to be convolved, each bit of which represents a channel in the image. The channels corresponding to bits with a value of 1 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 TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe

See also

mlib_ImageConv2x2(3MLIB), mlib_ImageConv2x2_Fp(3MLIB), mlib_ImageConv2x2Index(3MLIB), mlib_ImageConv3x3(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(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)