MCPcopy Create free account
hub / github.com/creatale/node-dv / kernelCreate

Function kernelCreate

deps/leptonica/src/kernel.c:105–134  ·  view source on GitHub ↗

------------------------------------------------------------------------* * Create / Destroy * *------------------------------------------------------------------------*/ ! * \brief kernelCreate() * * \param[in] height, width * \return kernel, or NULL on error * * * Notes: * (1) kernelCreate() initializes all values t

Source from the content-addressed store, hash-verified

103 * </pre>
104 */
105L_KERNEL *
106kernelCreate(l_int32 height,
107 l_int32 width)
108{
109l_uint64 size64;
110L_KERNEL *kel;
111
112 PROCNAME("kernelCreate");
113
114 if (width <= 0)
115 return (L_KERNEL *)ERROR_PTR("width must be > 0", procName, NULL);
116 if (height <= 0)
117 return (L_KERNEL *)ERROR_PTR("height must be > 0", procName, NULL);
118
119 /* Avoid overflow in malloc arg */
120 size64 = (l_uint64)width * (l_uint64)height;
121 if (size64 >= (1LL << 29)) {
122 L_ERROR("requested width = %d, height = %d\n", procName, width, height);
123 return (L_KERNEL *)ERROR_PTR("size >= 2^29", procName, NULL);
124 }
125
126 kel = (L_KERNEL *)LEPT_CALLOC(1, sizeof(L_KERNEL));
127 kel->sy = height;
128 kel->sx = width;
129 if ((kel->data = create2dFloatArray(height, width)) == NULL) {
130 LEPT_FREE(kel);
131 return (L_KERNEL *)ERROR_PTR("data not allocated", procName, NULL);
132 }
133 return kel;
134}
135
136
137/*!

Callers 11

kernelCopyFunction · 0.85
kernelNormalizeFunction · 0.85
kernelInvertFunction · 0.85
kernelReadStreamFunction · 0.85
kernelCreateFromStringFunction · 0.85
kernelCreateFromFileFunction · 0.85
kernelCreateFromPixFunction · 0.85
makeFlatKernelFunction · 0.85
makeGaussianKernelFunction · 0.85
makeDoGKernelFunction · 0.85
makeRangeKernelFunction · 0.85

Calls 1

create2dFloatArrayFunction · 0.85

Tested by

no test coverage detected