Рейтинг:2

Вырезать определенную область из серии изображений

флаг in

У меня есть серия png-изображений (на самом деле они взяты из mp4-файла).

Я хочу обрезать одну и ту же область со всех сделанных мной изображений.

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

Есть ли что-то для пакетного сжатия полученных изображений (без потерь)?

Я попробовал apngasm, к сожалению, детали, которые будут показаны в сериале, оптимизированы, хотя говорят, что apngasm работает без потерь!

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

Рейтинг:8
флаг pl

You could use convert from package imagemagick:

$ convert image_in.jpg -crop <widthxheight+left+top> image_out.jpg

Then you could wrap that command in a for loop, with file pattern matching, etc.

Рейтинг:2
флаг in

Более полная версия данного ответа:

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

В моем примере это было сказано внизу

316,88, ...px... Прямоугольник 1622x634...

Затем я написал скрипт и сделал его исполняемым:

#!/бин/баш

# Переменная и определение
inputdir="/home/a/tmp/png" # ~ здесь не работает вместо /home/a
outputdir="/home/a/tmp/crop"

# Abarbeiten der eingelesenen Bilder mit Hilfe einer For-Schleife
# и программа ImageMagick.

для картинки в "$inputdir"/v*.png ; делать 
    picname=$(basename "$pic") # siehe Ausgaben in eine Variable schreiben
    echo "Bearbeite Bild: $picname"
    конвертировать "$pic" -crop 1622x634+316+88 "$outputdir/$picname"
сделано

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

Я все еще ищу ответ о хорошем сжатии, учитывая, что от одного изображения к другому есть только небольшие изменения.

Рейтинг:1
флаг us

Для параллельного создания серий изображений (я бы рекомендовал только на SSD-накопителе) установите imagemagick и parallel (sudo apt установить imagemagick параллельно), а затем попробуйте следующее:

mkdir вне
parallel -j 4 convert {} -crop 2048x2048+0+0 out/{} ::: img-*.png

он использует 4 процесса -j 4 конвертировать файл {} в вне/{} если файл соответствует маске изображение-*.png

mogrify из пакета imagemagick также может работать.

Что касается подобия и сжатия, наиболее эффективным является использование несжатых изображений и их сжатие чем-то, что сжимает не отдельные файлы, а все вместе. p7zip обычно лучший, а tar+bzip2 иногда/редко лучше (обычно для текста и данных, таких как изображения с очень низкой контрастностью) tar+xz очень похож на p7zip (такое же сжатие, разные метаданные). Однако для большинства людей zip является наиболее удобным форматом. Для технических специалистов подойдет Windows 7zip, и я бы посоветовал использовать tar, только если получатель знаком с Linux.

Ответить или комментировать

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