今後画像処理の勉強のために画像がインプットして、関数を通ってアウトプット見たいのが欲しかったのでとりあえずモノクロにしました。
とりあえずパクる
ここから拝借します。
要点
- imageのライブラリを使う
- 系加重平均法というのを使用してモノクロ値を取得する。
特出したことはなし。
結果
元画像
加工後
検証
なぜダメだったかはプリントデバッグで値見ちゃう。
rの値→uint8(r)の値
なので、情報の欠損ですかね?16進数にします。
上位2バイトの欠落で確定ですね、以下を修正します。
c#だとこの時って全部255にならんかったけ?なんにしろgoっぽいな、と思いました。
- RGBAではなくRGBA64を使用する。
- uint8の関数を取っ払う
- 以下のに箇所はuint16を使う
mono := uint16(outR + outG + outB)
col.A = uint16(a)