LoginSignup
3
2

More than 5 years have passed since last update.

go言語で画像をモノクロにする

Last updated at Posted at 2016-12-23

今後画像処理の勉強のために画像がインプットして、関数を通ってアウトプット見たいのが欲しかったのでとりあえずモノクロにしました。

とりあえずパクる

ここから拝借します。

要点

  1. imageのライブラリを使う
  2. 系加重平均法というのを使用してモノクロ値を取得する。

特出したことはなし。

結果

元画像

plant4.jpg

加工後

ダメでした。
plant4_out.jpg

検証

なぜダメだったかはプリントデバッグで値見ちゃう。
スクリーンショット 2016-12-23 18.29.04.png
rの値→uint8(r)の値
なので、情報の欠損ですかね?16進数にします。
スクリーンショット 2016-12-23 18.37.06.png
上位2バイトの欠落で確定ですね、以下を修正します。
c#だとこの時って全部255にならんかったけ?なんにしろgoっぽいな、と思いました。

  1. RGBAではなくRGBA64を使用する。
  2. uint8の関数を取っ払う
  3. 以下のに箇所はuint16を使う
mono := uint16(outR + outG + outB)

col.A = uint16(a)

結果

出ました、ご納得。
plant4_out.jpg
疑問点はいくつかあるけど、想像はつくから後回しやね。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2