Ich habe Gabor filter auf Bilder mit den folgenden Theta - {0,45,90,135} angewendet. aber die resultierenden Bilder waren genau die gleichen mit dem gleichen Orientierungswinkel!Different 'Theta' für Gabor Filter liefert Bilder ohne Orientierung
ich erwartet, dass die Ergebnisse der Anwendung Gabor-Filter mit theta = 90 wird in Ausrichtung als die mit theat = 45, aber nach der Verwendung von Gabor-Filter mit verschiedenen Theta unterschiedlich sein, erhalte ich Bilder ohne Unterschied in der Ausrichtung!
Ich benutze Gabor-Filter falsch? Weil ich erwarte, dass jedes Bild entsprechend dem im Gabor-Filter angegebenen Ausrichtungsengel unterschiedlich ausgerichtet ist.
Der Parameter I für Gabor-Filter wurden wie folgt eingestellt:
kernel size = Size(5,5);
theta = {0,45,90,135}
sigma = ,2
type = CVType.CV_32F
lambda = 100
gamma = ,5
psi = 5
Code:
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 Grad:
image_45 Grad:
image_90 Grad:
image_135 Grad:
Bild nach Gabor mit theta = 0,45,90,135, ohne Glättung Anwendung:
Kannst du uns den Code zeigen, den du geschrieben hast, der den Gabor-Filter auf deine Bilder anwendet? – rayryeng
@rayryeng Entschuldigung für die späte Antwort, finden Sie den Code und die Ausgabe oben aktualisiert – user2121
@ user2121 Bitte ändern Sie "Lambda" auf 10. Lassen Sie mich wissen, wenn Sie irgendwelche Änderungen erhalten. –