ImageGear v26.5 - Updated
ImageGear.Core Assembly / ImageGear.Processing Namespace / ImGearRasterProcessing Class / Convolve Method
Image to convolve.
Two-dimensional convolution matrix.
Normalizer (i.e., denominator for every color component value).
Mode that defines how the resulting color component value interacts with the source:
If this flag is true then the calculated values are added to the original ones.
Range of the channels to convolve.
Example




In This Topic
    Convolve Method
    In This Topic
    Provides filtering on the base of 2-dimensional convolution matrix.
    Syntax
    'Declaration
     
    Public Shared Sub Convolve( _
       ByVal page As ImGearRasterPage, _
       ByVal matrix(,) As Integer, _
       ByVal normalizer As Double, _
       ByVal resultMode As ImGearConvolutionResults, _
       ByVal addResultToOriginalPixels As Boolean, _
       ByVal channels As ImGearChannelRange _
    ) 
    'Usage
     
    Dim page As ImGearRasterPage
    Dim matrix() As Integer
    Dim normalizer As Double
    Dim resultMode As ImGearConvolutionResults
    Dim addResultToOriginalPixels As Boolean
    Dim channels As ImGearChannelRange
     
    ImGearRasterProcessing.Convolve(page, matrix, normalizer, resultMode, addResultToOriginalPixels, channels)
    public: static void Convolve( 
       ImGearRasterPage* page,
       int[,]* matrix,
       double normalizer,
       ImGearConvolutionResults resultMode,
       bool addResultToOriginalPixels,
       ImGearChannelRange channels
    ) 

    Parameters

    page
    Image to convolve.
    matrix
    Two-dimensional convolution matrix.
    normalizer
    Normalizer (i.e., denominator for every color component value).
    resultMode
    Mode that defines how the resulting color component value interacts with the source:
    • ImGearConvolutionResults.RAW - the new color component replaces the old one. If the new value is negative then 0 is applied.
    • ImGearConvolutionResults.ABS the new color component replaces the old one. If the new color component is negative then its absolute value is applied.
    • ImGearConvolutionResults.SIGNED - the new color component replaces the old one. If the new color component is negative then it is added to the maximum value of the component range.
    • ImGearConvolutionResults.CENTERED - the new color component is added to the component range center and replaces the old one.
    addResultToOriginalPixels
    If this flag is true then the calculated values are added to the original ones.
    channels
    Range of the channels to convolve.
    Remarks
    The method processes specified range of channels. It does not provide any special handling for Alpha channel.

    Can be applied only to the raster pages with standard (non Run-Ends) DIB.

    Example
    // Convolve an image according to a matrix and normalizer.
    // Convolution matrix:
    int[,] matrix = new int[,] {
        {-1,1,1},
        {-1,0,1},
        {-1,-1,1}
    };
    // normalizer to be used as denominator for the matrix.
    const double normalizer = 6;
    // Channel range to convolve on.
    ImGearChannelRange igChannelRange = new ImGearChannelRange(0, igRasterPage.DIB.ChannelCount);
    // Apply the convolution, in this case it has an emboss effect.
    ImGearRasterProcessing.Convolve(igRasterPage, matrix, normalizer,
        ImGearConvolutionResults.RAW, true, igChannelRange);
    ' Convolve an image according to a matrix and normalizer.
    ' Convolution matrix:
    Dim matrix As Integer(,) = New Integer(,) { _
     {-1, 1, 1}, _
     {-1, 0, 1}, _
     {-1, -1, 1}}
    ' normalizer to be used as denominator for the matrix.
    Dim normalizer As Double = 6
    ' Channel range to convolve on.
    Dim igChannelRange As New ImGearChannelRange(0, igRasterPage.DIB.ChannelCount)
    ' Apply the convolution, in this case it has an emboss effect.
    ImGearRasterProcessing.Convolve(igRasterPage, matrix, normalizer, _
     ImGearConvolutionResults.RAW, True, igChannelRange)
    See Also