BoofCV/Java - Построение матрицы Гессе изображения с помощью гауссовой свертки

Я хочу построить матрицу Гессе изображения в градациях серого, но мне нужно вычислить производные второго порядка. Я работаю с BoofCV и обнаружил функцию, которая вычисляет первый порядок:

ImageGradient_Gaussian<ImageUInt8,ImageFloat32> gaussian1 = new ImageGradient_Gaussian<ImageUInt8,ImageFloat32>(sigma, -1, ImageUInt8.class, ImageFloat32.class);
gaussian1.process(grayscaleImage, derivX, derivY);

Я использую в качестве входного параметра «сигму» (стандартное отклонение). Есть ли функция или другой способ для вычисления производных второго порядка, используя в качестве входных данных сигму и изображение в градациях серого?

Я открыт для других предложений библиотеки Java CV.


person Zerthimon    schedule 12.07.2015    source источник


Ответы (1)


Вы хотите сделать что-то вроде:

GImageDerivativeOps.sobel(grey, derivX, derivY, BorderType.EXTENDED);
GImageDerivativeOps.hessianSobel(derivX, derivY, derivXX, derivXY, derivYY, BorderType.EXTENDED);

серый может быть производным ImageFloat32 или ImageUInt8, может быть ImageFloat32 или ImageSInt16

В последнем SNAPSHOT есть пример, но он должен работать и в более старых версиях:

https://github.com/lessthanoptimal/BoofCV/blob/master/examples/src/boofcv/examples/imageprocessing/ExampleImageDerivative.java

person lessthanoptimal    schedule 13.07.2015
comment
Спасибо за ответ. - person Zerthimon; 13.07.2015
comment
Я использовал ядро ​​Гаусса для частных производных первого порядка... Так что метод hessianThree() отлично сработал для меня! Спасибо еще раз! - person Zerthimon; 13.07.2015