どのようなアルゴリズムでカラーとモノクロを判別するべきでしょうか。
もしコマンドラインツールやライブラリでそのような機能を持つものがあれば教えてください。
英語論文等でも構いません。
単純に彩度に変換してノイズ除去して適当なしきい値で二値化して面積とかで見れば良いのでは?
ImageMagickとかで出来ませんかね。
http://hashi4.civil.tohoku.ac.jp/soft/node43.html
こんな感じか
convert in.jpg -colorspace HSB -separate -delete 0 -fx "u*v" -blur 2x2 -threshold 30% -format '%[fx:mean]' info:
convert in.jpg -colorspace HSB -separate -delete 0 -fx "u*v" -format '%[fx:mean]' info:
convert in.jpg -auto-gamma -colorspace HSB -separate -delete 0 -fx "u*v" -blur 2x2 -threshold 30% -format '%[fx:mean]' info:
単純に彩度に変換してノイズ除去して適当なしきい値で二値化して面積とかで見れば良いのでは?
ImageMagickとかで出来ませんかね。
http://hashi4.civil.tohoku.ac.jp/soft/node43.html
こんな感じか
convert in.jpg -colorspace HSB -separate -delete 0 -fx "u*v" -blur 2x2 -threshold 30% -format '%[fx:mean]' info:
convert in.jpg -colorspace HSB -separate -delete 0 -fx "u*v" -format '%[fx:mean]' info:
convert in.jpg -auto-gamma -colorspace HSB -separate -delete 0 -fx "u*v" -blur 2x2 -threshold 30% -format '%[fx:mean]' info:
最後ので各段階を説明すると、
thresholdがなければ全体の彩度の平均になります。
fxで色々演算できるみたいです。HSBじゃなくRGBでseparateして自分でfxで演算してもいいかも知れません。さらに、実はL*a*b*で計算した方が良いのではと言う話もあったりします。
ただ、それで例えばセピア調の絵と、単に褪せただけの小説とが区別出来るのか、というと、多分別の方法か人の判断が必要になるかな、という気がしました。
意外に奥が深いかも知れません(^^;
度々ですが。
auto-gammaだめですね。ムラが強調されて誤判定が多くなりそう。
むしろ、彩度に幅のない画像を選択して色データを捨ててたとえば別形式で保存するほうが軽量化できていいようなきがします。
フォトショップのアクションでできそう。
処理されたものは拡張子が違うものになっているからソートすればわかるとかそんな。
http://retouch-weblab.com/photo/action/
申し訳ありませんがフォトショップは持っていないので。。。
最後ので各段階を説明すると、
thresholdがなければ全体の彩度の平均になります。
2012/06/29 22:18:28fxで色々演算できるみたいです。HSBじゃなくRGBでseparateして自分でfxで演算してもいいかも知れません。さらに、実はL*a*b*で計算した方が良いのではと言う話もあったりします。
ただ、それで例えばセピア調の絵と、単に褪せただけの小説とが区別出来るのか、というと、多分別の方法か人の判断が必要になるかな、という気がしました。
意外に奥が深いかも知れません(^^;
度々ですが。
2012/06/29 22:26:32auto-gammaだめですね。ムラが強調されて誤判定が多くなりそう。