Я применил Gabor filter на изображениях со следующими theta - {0,45,90,135}. но результирующие изображения были точно такими же с одним и тем же углом ориентации!Различные «тета» для фильтра Габора Возврат изображений без ориентации
Я ожидал, что результаты применения Габора фильтра с тетой = 90 будут отличаться в ориентации, чем тот, с Theat = 45, но после использования Габора фильтра с различной тетой, я получаю изображения без разница в ориентации!
Я использую фильтр Габора неправильно? Потому что я ожидаю, что каждое изображение будет иметь разную ориентацию в соответствии с ангелом ориентации, указанным в фильтре Габора.
Параметр я установил для фильтра Габора были следующими:
kernel size = Size(5,5);
theta = {0,45,90,135}
sigma = ,2
type = CVType.CV_32F
lambda = 100
gamma = ,5
psi = 5
код:
public static void main(String[] args) {
MatFactory matFactory = new MatFactory();
FilePathUtils.addInputPath(path_Obj);
Mat bgrMat = matFactory.newMat(FilePathUtils.getInputFileFullPathList().get(0));
Mat gsImg = SysUtils.rgbToGrayScaleMat(bgrMat);
double[] theta = new double[4];
theta[0] = 0;
theta[1] = 45;
theta[2] = 90;
theta[3] = 135;
for (int i = 0; i < 4; i++) {
Mat gaborCoeff = Imgproc.getGaborKernel(new Size(3,3), 2, theta[i], 4.1, 54.1, 0, CvType.CV_32F);
Mat dest = new Mat();
Imgproc.filter2D(gsImg, dest, CvType.CV_32F, gaborCoeff);
ImageUtils.showMat(dest, "theta = " + theta[i]);
}
}
image_0 степень: Степень
image_45:
image_90 степень:
image_135 степень:
изображение после применения Габора с тета = 0,45,90,135, без сглаживания:
Можете ли вы показать нам код, который вы написали, который применяет фильтр Габора к вашим изображениям? – rayryeng
@rayryeng извините за поздний ответ, пожалуйста, найдите код и выведенный выше обновленный – user2121
@ user2121 Пожалуйста, измените 'lambda' на 10. Сообщите мне, если вы получите какие-либо изменения. –