Ffmpeg Gaussian Filter (gblur) Kerngröße

360
Hannes M

Ich wende einen Gauß'schen Filter auf ein Video an, indem ich den Gblur-Filter von ffmpeg verwende . Der Filter akzeptiert die Sigma-Option, erlaubt jedoch nicht die Auswahl der Kernelgröße. Um korrekt über meine Gaußsche Unschärfeverwendung zu berichten, würde ich gerne wissen, welche Kerngröße in ffmpeg verwendet wird. (FYI, ich habe Sigma = 0,5 und Sigma = 0,8 verwendet.)

In dieser StackExchange-Frage wird nun theoretisch die Beziehung zwischen Sigma, Radius und Kernelgröße diskutiert. Wenn ich die Antworten richtig interpretiere, dann Radius = 2 * Sigma. Der Radius ist die Anzahl der Pixel in jeder Richtung, die der Gaußsche Filter verwendet. Daher ist kernel_size = ceil (Radius * 2 + 1). Wenn beispielsweise Sigma = 0,5 ist, handelt es sich um einen 3x3-Kernel, und wenn Sigma = 0,8 ist, handelt es sich um einen 5x5-Kernel.

Auf der anderen Seite sagt Wikipedia : "Normalerweise muss ein Bildverarbeitungsprogramm nur eine Matrix mit den Abmessungen ceiling (6 * sigma) x ceil (6 * sigma) berechnen, um ein Ergebnis sicherzustellen, das dem Ergebnis der gesamten Gaußschen Verteilung ausreichend nahe kommt. " Wenn also Sigma = 0,5 ist, handelt es sich um einen 3x3-Kernel, und wenn Sigma = 0,8 ist, handelt es sich um einen 5x5-Kernel.

Ich fand jedoch eine wissenschaftliche Arbeit mit dem Titel " Wasserzeichen mit geringem Wassergehalt in einer H.264-komprimierten Domäne ", die den vorherigen Aussagen widerspricht. Die Autoren geben an, einen Gaußschen Filter 5x5 mit Sigma = 0,3 und Sigma = 0,4 (in Tabelle III und Tabelle IV) verwendet zu haben. Aber für diese Sigmas würde ich eine Kerngröße von 3x3 erwarten?

Kurz gesagt, ich bin verwirrt, wie ich die Kernelgröße von ffmpeg abziehen kann, während ich nur Sigma ändern kann. Ich werde auch nicht klüger, wenn ich den ffmpeg-gblur-Quellcode lese . Gibt es jemanden, der mir Klarheit zu diesem Thema geben kann? Danke im Voraus!

0

0 Antworten auf die Frage