Как использовать фильтр ffmpeg removelogo

336
Zain Ali

Я пытаюсь использовать фильтр ffmpeg removelogo, нет синтаксической ошибки, но результат имеет какой-то странный пурпурный треугольник, где применяется маска.

Я использую следующую команду

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

Вот файлы, используемые в команде.

sample_image.jpg mask.png test.jpg

0

1 ответ на вопрос

1
LordNeckbeard

Это ограничение фильтра. Фильтр removelogo использует соседние пиксели для заполнения области, содержащей логотип. Ваша маска распространяется до самого края изображения, не оставляя соседних пикселей. Для достижения наилучших результатов вам нужно оставить немного места.

Поскольку логотипы обычно не расширяются до края изображения, если с помощью removelogo удалить фактический логотип и оставить достаточно места с края, вы не столкнетесь с этой проблемой.

В качестве альтернативы, если вам нужно продлить до края, вы можете вместо этого попробовать фильтр delogo, но он не позволит вам использовать произвольную маску; только прямоугольные координаты. Или используйте комбинацию площадки, заливки и обрезки, но результаты могут быть неудовлетворительными (я не пробовал).

enter image description here enter image description here
Оригинал с уродливым логотипом и маской "птичье дерьмо" с достаточным дополнением от края.

enter image description here
Результат removelogo фильтра.

Спасибо за вашу помощь, я думаю, мне нужно использовать гибридное решение от delogo и removelogo filter. Zain Ali 5 лет назад 0

Похожие вопросы