1mlib_ImageConv3x3(3MLIB) mediaLib Library Functions mlib_ImageConv3x3(3MLIB)
2
3
4
6 mlib_ImageConv3x3 - 3x3 convolution
7
9 cc [ flag... ] file... -lmlib [ library... ]
10 #include <mlib.h>
11
12 mlib_status mlib_ImageConv3x3(mlib_image *dst, const mlib_image *src,
13 const mlib_s32 *kernel, mlib_s32 scale, mlib_s32 cmask,
14 mlib_edge edge);
15
16
18 The mlib_ImageConv3x3() function performs a 3x3 convolution on the
19 source image by using the user-supplied kernel.
20
21
22 The input image and the output image must have the same image type and
23 have the same number of channels. The unselected channels in the output
24 image are not overwritten. For single-channel images, the channel mask
25 is ignored.
26
27
28 For this convolution, the key element of the convolution kernel is
29 located at the center of the kernel matrix.
30
31
32 The data type of source and destination images can be MLIB_BIT,
33 MLIB_BYTE, MLIB_SHORT, MLIB_USHORT, or MLIB_INT.
34
35
36 It uses the following equation:
37
38 m-1-dm n-1-dn
39 dst[x][y][i] = SUM SUM src[x+p][y+q][i]*k[p][q]*2**(-scale)
40 p=-dm q=-dn
41
42
43
44 where m = 3, n = 3, dm = (m - 1)/2 = 1, dn = (n - 1)/2 = 1.
45
47 The function takes the following arguments:
48
49 dst Pointer to destination image.
50
51
52 src Pointer to source image.
53
54
55 kernel Pointer to the convolution kernel, in row major order.
56
57
58 scale Scaling factor.
59
60
61 cmask Channel mask to indicate the channels to be convolved, each
62 bit of which represents a channel in the image. The channels
63 corresponding to bits with a value of 1 are those to be pro‐
64 cessed. For a single-channel image, the channel mask is
65 ignored.
66
67
68 edge Type of edge condition. It can be one of the following:
69
70 MLIB_EDGE_DST_NO_WRITE
71 MLIB_EDGE_DST_FILL_ZERO
72 MLIB_EDGE_DST_COPY_SRC
73 MLIB_EDGE_SRC_EXTEND
74
75
76
78 The function returns MLIB_SUCCESS if successful. Otherwise it returns
79 MLIB_FAILURE.
80
82 See attributes(5) for descriptions of the following attributes:
83
84
85
86
87 ┌─────────────────────────────┬─────────────────────────────┐
88 │ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
89 ├─────────────────────────────┼─────────────────────────────┤
90 │Interface Stability │Committed │
91 ├─────────────────────────────┼─────────────────────────────┤
92 │MT-Level │MT-Safe │
93 └─────────────────────────────┴─────────────────────────────┘
94
96 mlib_ImageConv2x2(3MLIB), mlib_ImageConv2x2_Fp(3MLIB), mlib_Image‐
97 Conv2x2Index(3MLIB), mlib_ImageConv3x3_Fp(3MLIB), mlib_Image‐
98 Conv3x3Index(3MLIB), mlib_ImageConv4x4(3MLIB), mlib_Image‐
99 Conv4x4_Fp(3MLIB), mlib_ImageConv4x4Index(3MLIB), mlib_Image‐
100 Conv5x5(3MLIB), mlib_ImageConv5x5_Fp(3MLIB), mlib_Image‐
101 Conv5x5Index(3MLIB), mlib_ImageConv7x7(3MLIB), mlib_Image‐
102 Conv7x7_Fp(3MLIB), mlib_ImageConv7x7Index(3MLIB), mlib_ImageConvKernel‐
103 Convert(3MLIB), mlib_ImageConvMxN(3MLIB), mlib_ImageConvMxN_Fp(3MLIB),
104 mlib_ImageConvMxNIndex(3MLIB), mlib_ImageConvolveMxN(3MLIB),
105 mlib_ImageConvolveMxN_Fp(3MLIB), mlib_ImageSConv3x3(3MLIB),
106 mlib_ImageSConv3x3_Fp(3MLIB), mlib_ImageSConv5x5(3MLIB),
107 mlib_ImageSConv5x5_Fp(3MLIB), mlib_ImageSConv7x7(3MLIB),
108 mlib_ImageSConv7x7_Fp(3MLIB), mlib_ImageSConvKernelConvert(3MLIB),
109 attributes(5)
110
111
112
113SunOS 5.11 2 Mar 2007 mlib_ImageConv3x3(3MLIB)