Захват кадра из 10-битного видео с использованием Python - PullRequest
0 голосов
/ 08 октября 2018

Я хочу захватить кадр из 10-битного видео.Я попробовал некоторые решения для этого, такие как OpenCV, но это, кажется, вызывает сильные полосы в темных областях на сохраненном изображении, и FFMPEG, но качество уступает OpenCV, и, похоже, неправильно обрабатывает цветовое пространство YUV при сохранении изображения (черные области теряют много деталей,и изображение в целом становится ярче).

В данный момент я не принимаю во внимание точность кадра, и меня больше всего волнует правильная обработка цветов.

Я хотел попробовать VapourSynth, но я не могу заставить его работать должным образом на моем Ubuntu (компиляция завершается неудачно при включении плагина imwrt).

Какие другие решения я могу попробовать для этой проблемы?

Одна вещь, о которой я могу думать, - это размывание темных областей с помощью OpenCV, чтобы избавиться от полос, но я, честно говоря, не знаю, как это сделать, и когда я попробовал некоторые уже сделанные алгоритмы (например, )этот ), но он совсем не работал, застревая в одной из функций set_pixel.

РЕДАКТИРОВАТЬ: разница между 8-битными скриншотами ffmpeg, OpenCV и mpv: https://diff.pics/zugzxgSvGI3D

Похоже, что OpenCV имеет проблемы с преобразованием 10-битного в 8-битное изображение, что вызывает сильное искажение, но в темных областях намного больше деталей.8-битный скриншот, сделанный с MPV, выглядит, вероятно, лучше всего, и именно к этому я стремлюсь.Единственное, что не так с OpenCV, в этом случае будет сильная полоса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...