This group provides a package of pattern recognition functions based on standard correlation. More...
Classes | |
class | SoBinaryCorrelationProcessing2d |
SoBinaryCorrelationProcessing2d engine More... | |
class | SoGrayscaleCorrelationProcessing2d |
SoGrayscaleCorrelationProcessing2d engine More... |
This group provides a package of pattern recognition functions based on standard correlation.
Some tools to ease the exploitation of results are also included.
The correlation filters allow the matching of rectangular or irregular patterns. Non-rectangular patterns are implemented with mask AOIs.
Use SoGrayscaleCorrelationProcessing2d for grayscale image correlation and SoBinaryCorrelationProcessing2d for binary image correlation.
SoGrayscaleCorrelationProcessing2d allows for local luminosity and / or contrast normalization. There are 4 different correlation types (see SoGrayscaleCorrelationProcessing2d::CorrelationMode) :
We perform the correlation between a input image, , and a kernel, . The output image is an floating point image, . The correlation coefficient at location is given by a local calculation between the model and a pattern extraction from the input image, . The pattern location is and its dimension is . The actual calculation depends on image type:
It also depends on the correlation normalization TYPE as shown below. When a part of the pattern lies beyond the edge of the image the correlation is not performed on the image border. SCorrelation filters provide a step parameter (see SoGrayscaleCorrelationProcessing2d::OffsetMode and SoBinaryCorrelationProcessing2d::OffsetMode) which speeds up the operation by calculating 1 value out of each step, as shown in Figure 1.
Figure 1: Standard Correlation
Figure 2: Correlation coefficient for odd dimensions
If the dimensions are even, the position of the correlation coefficient is the closest pixel position to the top and the left.
Figure 3: Correlation coefficient for even dimensions
Figure 4: Correlation with a non-rectangular pattern