Багатопотокове перетворення TIFF в PNG


2

Я працюю із зображеннями відсканованих книг, тому сотні зображень із високою роздільною здатністю. Я роблю конверсійні роботи з Photoshop Elements - я можу швидко зберегти їх до нестисненого TIFF, але перетворення на стислий PNG за допомогою однієї нитки займає віки.

Чи знаєте ви програмне забезпечення, ідеально просте та безкоштовне, яке б пакетно перетворювало ці TIFF у PNG багатопотоково (4 до 8 одночасних файлів), щоб скористатися цими ядрами та скоротити час перетворення? Я не надто переживаю в незначних варіаціях остаточного розміру.

Відповіді:


4

Якщо ви перетворюєте велику кількість файлів, ви можете використовувати паралель GNU у поєднанні з imagemagick для одночасного виконання декількох завдань.

parallel -j 8 convert {} {.}.png ::: *.tiff

... перетворить кожен img.tiff в каталозі в img.png, виконуючи 8 завдань одночасно. Якщо ви вимкнете -j 8, паралель буде за замовчуванням до одного завдання на ядро ​​CPU.

Для рекурсивного перетворення комбінуйте знаходження з паралельним:

find . -type f -name "*.tiff" | parallel -j 8 convert {} {.}.png

2

ImageMagick - це відмінна безкоштовна програма, яка здатна робити те, що ви просите, за допомогою командного рядка. Ось уривок із багатопотокової інформації .

Використовувати його так само просто, як і вводити текст, convert image.tif image.pngале його можна використовувати з усіма можливими опціями, що відповідають вашим потребам. Перегляньте документацію для отримання додаткової інформації про це.


Дякую, це може бути працездатним. Чи багаторядковий командний рядок за замовчуванням чи мені потрібно використовувати перемикач аргументів?
mtone

за замовчуванням багатопотокове. Він не буде робити кілька файлів одночасно, а скоріше розділити завдання в одному файлі на кілька потоків, що прискорить роботу.
Генрік Седерлунд

0

Запис (тобто стиснення) одного PNG-файлу як багатопотокового можна, але волохатий. Реалізація з відкритим кодом - https://github.com/anvio/png-parallel , пов’язана з https://stackoverflow.com/questions/10827247/parallelization-of-png-file-creation-with-c-libpng-and -опенмп .

Якщо можливо, замість цього стискайте кілька PNG, по одному на нитку, як пропонує evilsoup.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.