SourceChordスマートフォン用の表示で見るSourceChordC#とXAML好きなプログラマの備忘録。最近はWPF系の話題が中心です。OpenCV久しぶりに、OpenCVネタ。OpenCvSharpを使って、grubcutでの領域抽出をやってみました。OpenCVに用意されているGrabCut関数を使うと、画像中の前景/背景領域を簡単に抽出できます。GrabCutは、「InitWithRect」「InitiWithMask」という二種類の方法で、抽出領域の指定ができます。それぞれの方法を試してみました。全コードは、↓のリポジトリに上げてます。矩形の範囲指定での領域抽出GrabCut関数の引数でGrabCutModes.InitWithRectを用いると、前景となるオブジェクトが含まれる部分を矩形で指定して抽出を行います。今度は、InitWithMaskです。このオプションでは、マスク用の画像を用いた抽出を行います。マスク画像では、各ピクセル値で以下のように指定します。前景こういう、0,1,2,3だけの値で構成された画像を、ペイントなどのアプリで書くのはとても面倒です。⇒というか、0~3の色の違いでは、ディスプレイ上ではほとんど区別がつきません。いうことで、まず以下のようなマスク画像を用意しました。これをプログラムで読み込んでから、以下のようにピクセル値を置換してからGrabCut関数に渡しています。0・・・たぶん背景の部分⇒2255・・・たぶん前景の部分⇒3コードは以下のような感じ。}実行すると、それぞれの方法での抽出結果が各ウィンドウに表示されます。お手軽に画像切り抜きアプリなども作れそうですね。今日のとこは、この辺までで。今回もOpenCvSharpネタ。今度はちょっと脱線気味。OpenCVでピ...2016-08-11OpenCvSharp3を使ってみた以前、C#からOpenCVを扱うためのラッパーライブラリのOpenCvSha...2014-11-08WPFでBitmapFrame.Createなどの画像ロード処理を強制的にキャンセルさせるWPFで画像を扱ってて遭遇した困りごと。アプリ開発Windows開発者はてなブログをはじめよう!minami_SCさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。