web-dev-qa-db-ja.com

ドキュメントのカラー写真を適切な白黒(ビトナル)画像に変換しますか?

私はコピー機やスキャナーを持っていないので、8メガピクセルのカメラを使ってドキュメントをコピーしています。これは、後で多くの処理が必要になることを除いて、かなりうまく機能します。写真からビットマップに変換したいのですが、

djpeg -grayscale -pnm photo.jpg |
pgmtopbm -threshold -value XXX

次の2つの理由により、うまく機能しません。

  1. XXXがどうあるべきかを推測するのは難しいですし、XXXは写真によって異なります。

  2. 照明はさまざまであり、単一のしきい値が画像に適切でない場合があります。

どうすればもっとうまくできますか?理想的な解決策は、Linuxで実行できる完全自動のコマンドラインプログラムです。 (私はすでに画像の端から暗いピクセルを削除するプログラムを書いています。)

注:私は本当にビットマップが必要です。これは白黒のピクセルです。グレースケールもディザリングもありません。

4
Norman Ramsey

-monochrome

このオプションは、いくつかのスマートディザリングを使用し、非常に目に見える出力を生成します。

convert -monochrome in.png out.png

ドキュメント: http://www.imagemagick.org/Usage/quantize/#monochrome

それをより単純な-threshold 50変換と比較してください。

convert -threshold 50 in.png out.png

画像のほとんどが失われます。

具体的な例: https://www.nasa.gov/mission_pages/galex/pia15416.html

wget -O orig.jpg http://www.nasa.gov/images/content/650137main_pia15416b-43_full.jpg
# Downsize to 400 height to have a reasonable file size for upload here.
convert orig.jpg -resize x400 in.jpg
convert -monochrome in.jpg out.jpg
convert -threshold 50 in.jpg threshold-50.jpg

in.jpg

enter image description here

out.jpg

enter image description here

しきい値-50.jpg

enter image description here

関連する質問:

Ubuntu 19.10、ImageMagick6.9.10でテスト済み。

私が3年間で見つけた最高のものは、 potrace に付属しているmkbitmapプログラムです。

1
Norman Ramsey

カメラをチェックしてください。最新のデジタルカメラの多くには、白黒写真を直接撮影する機能があります。

0
Gcoupe

グレースケール/彩度低下に変換すると、ほとんどのノイズも保持されます。 GIMPには、ノイズを除去するしきい値フィルター([カラー]メニューの下)があり、線画や無地の黒のスキャンテキストに非常に適しています。

私は自分でバッチスクリプトを作成することにあまり慣れていませんが、しきい値を使用することをお勧めします。

編集:あなたはタグとしてLinuxを持っているので、 Phatch 、バッチ写真操作を見てください。コントラストと明るさを調整するためのフィルターもあります。それはUbuntuリポジトリにあります(そのディストリビューションを使用する場合)

0
invert

どうやら、Gimpはいくつかの コマンドラインバッチ処理 をサポートしています。彩度を下げると、画像の明るさが変化しても期待どおりに動作する可能性があるため、そのショットを与えることができる場合があります。

0
keithjgrant