Извлечение всех неподвижных изображений из фильма [закрыто]

11

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

Таким образом, мне просто нужно обращаться с бумагами: выбрать один, положить его перед камерой, подождать, заменить.

Существует ли программное обеспечение Linux для извлечения всех изображений из фильма без движения ? Вид не обнаружения движения.

Аарон Дигулла
источник

Ответы:

12

Мне нравится твоя идея. Я думаю, я нашел способ сделать то, что вы хотите.

Использование ffmpegдля экспорта кадров с заданным интервалом

Вы можете установить, ffmpegа затем конвертировать видео в неподвижные кадры.

ffmpeg -i input_file.mp4 -r 1 image_%4d.png

Управление частотой кадров

-rОпция принимает один номер в качестве параметра, а именно частоты кадров. Таким образом, аргумент для этой опции будет 1, деленный на время, когда вы держите листы перед камерой .

Например:

  • Выбирая бумагу каждую секунду, используйте -r 1.
  • Выбирайте бумагу каждые две секунды, используйте -r 0.5- потому что 0,5 кадра в секунду означают 2 секунды на кадр.
  • ...

Вам нужно будет только синхронизировать это с вашим временем запуска, поэтому я бы предложил использовать секундомер.

Сдвиг стартовой позиции

Вы также можете «сдвинуть» видео, используя -ss <some number>, где <some number>время в секундах от начала видео. Таким образом, использование -ss 5начнется через пять секунд.

Если вам нужно сместить его более точно, используя hh:mm:ss.xxxсинтаксис, указав таким образом миллисекунды xxx, например, как 00:00:00.500.

Управление выходными именами и форматом

Вы можете изменить, image_%4d.pngчтобы использовать больше цифр. %4dбудет выводить изображения нравится 0001, 0002и так далее. Так что этого должно быть достаточно для большинства случаев.

ffmpegтакже может выводить в JPG, так что вам просто нужно соответствующим образом изменить суффикс. Я предлагаю использовать PNG, хотя, из соображений качества.

Некоторые советы

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

Вы можете использовать IrfanView для пакетной обработки или использовать пробную версию Adobe Lightroom .

slhck
источник
+1 за общее направление ответа. То, что я хотел бы, это способ найти дубликаты / очень похожие кадры и сохранить только те.
Аарон Дигулла
Я должен разобраться в этом! Если вы соблюдаете время, вы не должны получать дубликаты.
slhck
Но трудно придерживаться времени. Иногда мне приходится перелистывать страницы или проверять заднюю сторону и т. Д. Было бы гораздо удобнее, если бы программа могла просто извлечь первый кадр из всех дубликатов.
Аарон Дигулла
Я понимаю :) Ну, у меня есть идея, которая использует ImageMagick , но это потребует немного программирования - к сожалению, у меня нет времени на это в ближайшие дни.
Slhck
2

Я профессиональный VFX-художник, и лучший способ сделать это - просто делать фотографии. Мы по-прежнему делаем такие вещи на съемочной площадке для маленьких кусочков фильма, которые должны выглядеть как живое действие, но не могут быть сняты напрямую.

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

megpants
источник
Это должен был быть комментарий. Это ценное замечание, но не ответ на вопрос.
Ян Догген