SPATIALFLT

Summary

The SPATIALFLT structure lets you design your own filter. Click here to view a diagram in a separate window that shows how the weights are applied in a typical Prewitt gradient directional edge enhancement operation.

Syntax

typedef struct tagSPATIALFLT 
{ 
   L_UINT uStructSize;  /* size of this structure */ 
   L_INT fltDivisor; /* sum divisor */ 
   L_INT fltBias; /* sum bias */ 
   L_UINT fltDim; /* filter dimensions */ 
   L_INT fltMatrix[1]; /* array of filter coefficients */ 
} SPATIALFLT, *pSPATIALFLT; 

Members

uStructSize

Size of this structure in bytes, for versioning. Use sizeof() operator to calculate this value.

fltDivisor

Number used to divide the sum of weighted values.

fltBias

Number added to the weighted average.

fltDim

Number of pixels on one side of the square (neighborhood) used for averaging. Usually an odd number such as 3 or 5 is used. If you specify an even number, the target pixel is the one northwest of the midpoint.

fltMatrix[1]

The array of weighting factors. The factors apply to pixels in the neighborhood read left to right and top to bottom (in the alphabetical order shown in the diagram). The weighting factors in the diagram would be specified as follows:

MyPrewitt.fltMatrix[ ] = {1, 1, 1, 1, -2, -1, 1, -1, -1}   

Note that the array size is initialized as a placeholder with a value of 1. You must allocate space to hold your filter. Otherwise, you will get a stack fault.

Comments

pSPATIALFLT is a pointer to a SPATIALFLT structure. Where the function parameter type is pSPATIALFLT, you can declare a SPATIALFLT variable, update the structure's fields, and pass the variable's address in the parameter. Declaring a pSPATIALFLT variable is necessary only if your program requires a pointer.

It is beyond the scope of this documentation to explain how applying various weighting factors affects an image. If you specify your own filter, you should refer to a textbook on image processing. For example, Digital Image Processing: Principles and Applications, by Gregory A. Baxes.

Usage

Data Types

Functions

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C API Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.