OpenCVsharp導入

表題の通り、OpenCVsharpを導入してみた。

Visual Studio 2015のNuGetパッケージを利用したので、非常に簡単にできた。
詳細は以下
[OpenCV] OpenCvSharp3を使う – 端くれプログラマの備忘録

で、軽くフォームアプリを作成した見ました。画面はこんなのです。
f:id:jun_ya2085:20160627220923p:plain

左側が元画像で、下のボタンを押すと、右側にボタンに応じた画像処理後の画像を出すという簡易なものです。
ちなみにエッジ検出はCanny、2値化は大津の手法使ってますね。特に意味はないですけどw

こいつ作るときに少し悩んだのが、OpenCVの画像を定義する型であるMat型をWindowsのフォームに表示させるという
超初歩の部分。Windowsフォームのほうは、Pictureboxを使っているので、以下の感じで処理を進める。
1 Mat型で画像読み込み
2 Pictureboxで表示できるようにMat型をBitmapに変換
3 変換したBitmapをPictureboxに表示。

上記のコードは以下です
1 Mat image = Cv2.ImRead("lena.jpg");
2 Image img = BitmapConverter.ToBitmap(image);
3 pictureBox1.Image = img;

今は、lenaさん画像しかないですが、近いうちにはユーザが選んだ画像でやりたいですね。
画像処理というよりUIの強化ですが・・・

画像処理を習いたての人が、基本的な画像処理を施すとどんな感じになるのかな?というのを観察するようなアプリにしたいですね。
ほかにも、例えば、2値化のときにスライダーで閾値変更できるとか、エッジ検出のアルゴリズム選択できるとか、色々とやってみたいです。

とりあえずコード以下に挙げました。コード汚いとかそういうのは重々承知ですし、これから整理していきたいのであんまりたたかないでください・・・
GitHub - jun-ya-2085/imageprocess-csharp