Ich habe ein Programm, das große Sätze von 2d Graustufenbildern verarbeitet und derzeit imgaussfilt() mehrmals in der Verarbeitung jedes Bildes verwendet (Matlab 2015b). Dies erweist sich als sehr kostenintensiv in Bezug auf die Laufzeit. Ich habe einige Fälle von größeren Sigma-Werten, die teurer erscheinen (d. H. Imgaussfilt (image, [1,40]) ... imgaussfilt (image, [10,15])).MATLAB: schnelle Groß-Sigma-Glättung von 2D-Bildern
Kennt jemand schnellere Versionen/Methoden für Gaußglättung?
Ich habe versucht, die FFT/IFFT-Methode zu verwenden, aber das scheint erheblich länger dauern als die native MATLAB imgaussfilt() -Funktion.
Haben Sie auch versucht, Gaussian Glättung auf der X- und Y-Dimension nacheinander auszuführen, aber das dauert etwas länger als die native imgaussfilt() -Funktion.
Eine andere Glättungsmethode kann auch funktionieren, gibt es andere Methoden, die wesentlich schneller sind? (versuchte imboxfilt() ... nur etwas schneller und nicht so gut).
Dank im Voraus
Haben Sie versucht, 'imfilter' mit einem Gaußschen Kernel zu verwenden? 'imfilter' verwendet die Intel Integrated Performance Primitives für effizientes Filtern. – rayryeng
Warum müssen Sie diesen Filter "mehrmals" bei der Verarbeitung eines Bildes anwenden? vielleicht kannst du es nur einmal am start mit der entsprechenden größe verwenden –
@rayryeng habe ich imfilter mit einem gaussian kernel versucht - war zwar ziemlich schnell aber immernoch etwas langsamer als der imgaussfilt() – user3470496