Class HessianSobel

java.lang.Object
boofcv.alg.filter.derivative.HessianSobel

public class HessianSobel
extends Object

Computes the second derivative (Hessian) of an image using. This hessian is derived using the GradientSobel gradient function.

WARNING: It is computationally more expensive to compute the Hessian with this operation than applying the Sobel gradient operator multiple times. However, this does not require the creation additional storage to save intermediate results.

Kernel for ∂ 2f/∂ y2:

2f/∂ x∂y is:
1 4 6 4 1
0 0 0 0 0
-2 -8 -12 -8 -2
0 0 0 0 0
1 4 6 4 1
  • Field Summary

1 2 0 -2 -1
2 4 0 -4 -2
0 0 0 0 0
-2 -4 0 4 2
-1 -2 0 2 1
Fields
Modifier and Type Field Description
static Kernel2D_F32 kernelXX_F32  
static Kernel2D_S32 kernelXX_I32  
static Kernel2D_F32 kernelXY_F32  
static Kernel2D_S32 kernelXY_I32  
static Kernel2D_F32 kernelYY_F32  
static Kernel2D_S32 kernelYY_I32  
  • Constructor Summary

    Constructors
    Constructor Description
    HessianSobel()  
  • Method Summary

    Modifier and Type Method Description
    static void process​(GrayF32 orig, GrayF32 derivXX, GrayF32 derivYY, GrayF32 derivXY, @Nullable ImageBorder_F32 border)
    Computes the image's second derivatives.
    static void process​(GrayU8 orig, GrayS16 derivXX, GrayS16 derivYY, GrayS16 derivXY, @Nullable ImageBorder_S32 border)
    Computes the image's second derivatives.
    static <I extends ImageGray<I>,​ D extends ImageGray<D>>
    void
    process​(I input, D derivXX, D derivYY, D derivXY, @Nullable ImageBorder border)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Details

    • Constructor Details

      • HessianSobel

        public HessianSobel()
    • Method Details

      • process

        public static <I extends ImageGray<I>,​ D extends ImageGray<D>> void process​(I input, D derivXX, D derivYY, D derivXY, @Nullable @Nullable ImageBorder border)
      • process

        public static void process​(GrayU8 orig, GrayS16 derivXX, GrayS16 derivYY, GrayS16 derivXY, @Nullable @Nullable ImageBorder_S32 border)
        Computes the image's second derivatives.
        Parameters:
        orig - Which which is to be differentiated. Not Modified.
        derivXX - Second derivative along the x-axis. Modified.
        derivYY - Second derivative along the y-axis. Modified.
        derivXY - Second cross derivative. Modified.
        border - Specifies how the image border is handled. If null the border is not processed.
      • process

        public static void process​(GrayF32 orig, GrayF32 derivXX, GrayF32 derivYY, GrayF32 derivXY, @Nullable @Nullable ImageBorder_F32 border)
        Computes the image's second derivatives.
        Parameters:
        orig - Which which is to be differentiated. Not Modified.
        derivXX - Second derivative along the x-axis. Modified.
        derivYY - Second derivative along the y-axis. Modified.
        derivXY - Second cross derivative. Modified.
        border - Specifies how the image border is handled. If null the border is not processed.