Package boofcv.alg.filter.derivative
Class HessianThree
java.lang.Object
boofcv.alg.filter.derivative.HessianThree
Computes the second derivative (Hessian) of an image using. This hessian is derived by using the same gradient
function used in GradientThree, which uses a kernel of [-1 0 1].
WARNING: It is computationally more expensive to compute the Hessian with this operation than applying the gradient operator multiple times. However, this does not require the creation additional storage to save intermediate results.
Kernel for ∂ 2f/∂ x2 and ∂2f /∂ y2 is
[1 0 -2 0 1] and ∂2f/∂ x∂y is:
| 1 | 0 | -1 |
| 0 | 0 | 0 |
| -1 | 0 | 1 |
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic Kernel2D_F32static Kernel2D_S32static Kernel1D_F32static Kernel1D_S32 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidprocess(GrayF32 orig, GrayF32 derivXX, GrayF32 derivYY, GrayF32 derivXY, @Nullable ImageBorder_F32 border) Computes the second derivative of anGrayU8along the x and y axes.static voidprocess(GrayU8 orig, GrayS16 derivXX, GrayS16 derivYY, GrayS16 derivXY, @Nullable ImageBorder_S32 border) Computes the second derivative of anGrayU8along the x and y axes.process(I input, D derivXX, D derivYY, D derivXY, @Nullable ImageBorder border)
-
Field Details
-
kernelXXYY_I32
-
kernelCross_I32
-
kernelXXYY_F32
-
kernelCross_F32
-
-
Constructor Details
-
HessianThree
public HessianThree()
-
-
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 second derivative of an
GrayU8along the x and y axes.- 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 second derivative of anGrayU8along the x and y axes.- 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.
-