コマンドラインで画像を24ビットBMPに変換するには?

コマンドラインで画像を24ビットBMPに変換するには?

ラッパー Bash スクリプトを作成しています。補助システム使いやすくしてください。このプログラムは画像をサウンドまたはその逆に変換しますが、24ビットBMP画像のみを許可し、これまではGIMPを介してのみこれらの画像を生成できます。

ARSSが処理できるように、特定の画像を適切なBMPファイルに変換する方法を探しています。 ImageMagicを使ってみましたconvertが、24-btの色の深さが得られませんでした。

これは私のスクリプトです。

#!/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ファイルを非常にうまく処理できます。

ただし、コマンドラインでは使用できず、GIMPのGUIを使用すると、毎回達成しようとする目的が失われます。 GIMPにコマンドを提供して、ヘッドレスモードでGIMPを使用する方法があると見ていますが、必要かどうかはわかりません。

たぶん私が知らない簡単なものがあるのではないだろうか?

ベストアンサー1

~によるとImageMagickフォーラム投稿を使用することは、-type truecolor画像を24ビットに強制する正しい方法かもしれません。

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

おすすめ記事