私の友人は中国の手書きのカラー画像(基本的に彼が白い紙に書いたものの写真を撮るかスキャンすることによる)を持っています、そして私にそれを白黒のバイナリ画像に変換して欲しいです。 Ubuntuでそれを実現できるアプリケーションはありますか?
以下は画像の例です。
画像処理では、必要なものを「しきい値」と呼びます。基本的に、それは入力として画像を取り、黒に設定された特定のしきい値未満の値を持つすべてのピクセルと、白に設定されたしきい値を超えるすべてのピクセルを持つ画像を出力します。これにより、任意の入力画像から白黒画像が生成されます。
一般に、より予測可能な結果を得るために最初にグレースケールに変換する必要がありますが、フルカラー画像をしきい値処理することもできます。
GIMPなどのグラフィカルツールを使用してこれをインタラクティブに実行するか(メインメニュー->色->しきい値からツールを見つけることができます)、または次のようなImageMagickを使用できます。
convert colored.png -threshold 75% thres_colored.png
上記のコマンドをサンプル画像で実行すると、次のような結果になります。
しきい値処理は、満足できる結果を得るための試行錯誤のプロセスとなることが多いため、特にソースイメージが白黒に非常に近くない場合は特に、可能であればGUIアプローチをお勧めしますが、コマンドラインからも同様に実行できる理由はありません。出力をより細かく制御するには、まずカラーカーブ、レベル、コントラストなどのツールを使用して、しきい値処理の前に画像の明るい部分と暗い部分をよりよく分離できます。 (実際には、しきい値はカラーカーブツールを使用する極端なケースと見なすことができます。)
Imagemagickを使用できます。
convert test.png -colorspace Gray gray_colorspace.png
ここ から。
これがあなたの画像に適用した後に得られたものです:
-monochromeImageMagickからのオプションは、スマートディザリングを使用するオプションであり、意図した場合は、出力が-threshold
よりもはるかに見やすくなります。それを人間の消費のために:
convert -monochrome signature.png out.png
そのような単純な画像ではそれほど大きな違いはありませんが、大きな画像では印象的です。
netpbm
ツールキットを使用してこれを簡単に行うこともできます。
anytopnm inputfile | ppmtopgm | pgmtopbm > outputfile
ppmtopgm
はグレースケール画像に変換され、pgmtopbm
は白黒画像に変換されます。次に、出力をファイルにリダイレクトします。これはpbm形式になります。より一般的なものが必要な場合は、出力コンバーターを追加する必要があります(例:pnmtopng
など)