C#で画像のHSBを抽出して描くツールを作ってみた
C#で画像ファイルの各画素のHSBを計算して、それを描くツールを作ってみました。WPFアプリです。日記です。 作った環境は下記です。
Visual Studio 2015 Express for Windows Desktop
Windows 8.1
目次
アプリの目的
ある写真画像の特定の色を抽出したくて、Red、Green、Blue、Hue、Saturation、Brightnessのどのパラメータで計算をするのがよいのか試すためのものです。 PhotoShopやGimpを使えばすむ話なのかもしれませんが、インストールできないPCもありますので。
処理の流れ
エクスプローラーからアプリのウィンドウへのドラッグアンドドロップで画像のファイル名を取得します。
画像をBitmapImageとして読み込みます。
読み込んだ画像データのフォーマットをPbgra32に変換します。
フォーマット変換した画像データをByte配列にします。
ボタンをクリックすると、ボタンの種類に従って、Byte配列をゴニョゴニョ計算して新しいByte配列を作ります。
計算結果のByte配列からImageSourceを作って、Imageコントロールに表示します。
こう見ると、そんなに難しいことはしてませんね。画像ファイルの読み込みに、BitmapImageクラスがBmp、Png、Jpg等から自動的にデコードしてくれるってのがありがたいです。
こうなった
試した画像は2つです。
まとめ
目的の画像を早速このツールで見てみましたが、想像していた方法では抽出できないことがわかりました。 画像処理って面白いかも。
公開日
広告
C#で作ってみたカテゴリの投稿
- C#でExcelの表のコピーをMarkdownに変換するアプリを作ってみた
- C#でHello Worldしてみた
- C#でMVVMアプリを作ってみる
- C#でMVVMパターンのアプリを作ってみた(Microsoft.TeamFoundation.Controls無し編)
- C#でWPFでHello worldしてみた
- C#でdirコマンドの出力を整形してみた
- C#で作った特許情報の入力を補助するツールをちょっと直してみた
- C#で数式を中置記法から後置記法(逆ポーランド記法)に変換してみた
- C#で正規表現を試すツールを作ってみた
- C#で特許情報の入力を補助するツールを作ってみた
- C#で画像のHSBを抽出して描くツールを作ってみた
- C#で画像をグレースケールや半透明に変換するアプリを作ってみた
- テキストファイルをCSV形式に変換するツールを作ってみた