Intereting Posts
Минимальная Linux с ядром и BusyBox: / etc / inittab игнорируется, выполняется только / init Последовательная поддержка Grub и usb конвертировать команду update-rc.d в chkconfig Каков надлежащий способ совместного использования подкаталога / usr? Как команда выхода работает на терминале Unix? Как приостановить перечисление длинного текстового файла с кошкой в ​​командной строке после 10 строк, затем нажмите любую клавишу Что позволяет процессу `pulseaudio 'получить хороший уровень -11? Почему мой ПК замерзает, когда я копирую файл в pendrive? Архитектура менеджера пакетов Linux Как я могу предотвратить блокировку tmux при прокрутке вверх? Высокое использование памяти, но процесс не использует Не удается отправить пароль с помощью команды ssh, неправильная ошибка пароля Centos: пользователь с отдельным файлом открытых ключей Преобразование файла UTF-8 в ASCII (наилучшее усилие) Используйте SELinux для ограничения каталога определенным пользователем.

Как преобразовать изображение в 24-битный BMP в командной строке?

Я пишу скрипт Bash для ARSS, чтобы упростить его использование. Программа преобразует изображения в звуки и наоборот, но принимает только 24-битные изображения BMP, которые я смог получить только с помощью GIMP.

Я ищу способ конвертировать любое заданное изображение в подходящий файл BMP, чтобы ARSS мог его обработать. Я попробовал convert ImageMagic, но я не смог получить глубину цвета 24 бит.

Вот мой сценарий:

 #!/bin/bash # where is ARSS binary? ARSS="/unfa/Applications/ARSS/arss-0.2.3-linux-binary/arss" convert "$1" -depth 24 "$1.bmp" $ARSS --quiet "$1.bmp" "$1.wav" --sample-rate 48000 --format-param 32 --sine --min-freq 20 --max-freq 20000 --pps 250 

Вот результат:

 $ ./warss.sh 01.png The Analysis & Resynthesis Sound Spectrograph 0.2.3 Input file : 01.png.bmp Output file : 01.png.wav Wrong BMP format, BMP images must be in 24-bit colour 

Как вы можете видеть, я попытался использовать convert "$1" -depth 24 "$1.bmp" чтобы получить 24-битное изображение BMP, но это не работает, как я ожидал.

Для справки, я получаю правильный файл при экспорте с помощью GIMP:

введите описание изображения здесь

И ARSS обрабатывает такой файл BMP.

Однако я не могу использовать это из командной строки, и использование GUI GIMP каждый раз бросает вызов цели того, чего я пытаюсь достичь. Я видел, что есть способ использовать GIMP в режиме безголового, подавая его команды, но я не знаю, нужна ли мне это.

Может быть, есть что-то простое, чего я не знаю?

Согласно сообщению форума ImageMagick , использование -type truecolor может быть правильным способом заставить изображение до 24 бит:

 convert "$1" -type truecolor "$1.bmp"