So verwenden Sie den ffmpeg-Entfernungsfilter

476
Zain Ali

Ich versuche, den ffmpeg removelogo- Filter zu verwenden, es gibt keinen Syntaxfehler, aber das Ergebnis hat eine Art seltsames magentafarbenes Dreieck, in dem die Maske angewendet wird.

Ich benutze folgenden Befehl

ffmpeg -y -i sample_image.jpg -vf "removelogo=mask.png" test.jpg 

Hier sind die Dateien, die im Befehl verwendet werden.

sample_image.jpg mask.png test.jpg

0

1 Antwort auf die Frage

1
LordNeckbeard

Es ist eine Einschränkung des Filters. Der Removelogo-Filter verwendet die benachbarten Pixel, um den Bereich zu füllen, der das Logo enthält. Ihre Maske erstreckt sich bis zum äußersten Rand des Bildes und lässt keine benachbarten Pixel übrig. Für beste Ergebnisse müssen Sie etwas Platz lassen.

Da Logos normalerweise nicht bis an den Rand des Bildes reichen, wenn Sie mit removelogo ein aktuelles Logo entfernen und genügend Platz vom Rand lassen, wird dieses Problem nicht auftreten.

Wenn Sie sich bis zum Rand erstrecken müssen, können Sie alternativ den delogo- Filter verwenden. Dies lässt Sie jedoch keine beliebige Maske verwenden. nur rechteckige Koordinaten. Oder verwenden Sie eine Kombination aus Pad, Fillborders und Crop, aber die Ergebnisse sind möglicherweise nicht zufriedenstellend (ich habe es nicht versucht).


Original mit hässlichem Logo und "Bird-Shit" -Maske mit ausreichender Polsterung vom Rand.


Ergebnis des Entfernungsfilters.

Vielen Dank für Ihre Hilfe. Ich denke, ich muss eine Hybridlösung aus Delogo- und Removelogo-Filter verwenden. Zain Ali vor 6 Jahren 0