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
Modifier and TypeFieldDescriptionstatic Kernel2D_F32
static Kernel2D_S32
static Kernel1D_F32
static Kernel1D_S32
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
process
(GrayF32 orig, GrayF32 derivXX, GrayF32 derivYY, GrayF32 derivXY, @Nullable ImageBorder_F32 border) Computes the second derivative of anGrayU8
along the x and y axes.static void
process
(GrayU8 orig, GrayS16 derivXX, GrayS16 derivYY, GrayS16 derivXY, @Nullable ImageBorder_S32 border) Computes the second derivative of anGrayU8
along 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
GrayU8
along 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 anGrayU8
along 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.
-