今回は、Schimaの日記 - ステレオマッチング (cvaux)で紹介・実装されている。
OpenCVSharpでブロックマッチングを自分でも試してみました。

ソース

※処理の肝の部分だけ抜粋しています。


// 入力画像の読み込み
using (IplImage imgLeft = new IplImage("tsukuba_left.png", LoadMode.GrayScale))
using (IplImage imgRight = new IplImage("tsukuba_right.png", LoadMode.GrayScale))
{
    // 出力画像の領域を確保
    using (IplImage dstBM = new IplImage(imgLeft.Size, BitDepth.F32, 1))
    using (IplImage dst = new IplImage(imgLeft.Size, BitDepth.U8, 1))
    using (CvStereoBMState stateBM = new CvStereoBMState(StereoBMPreset.Narrow, 16))
    {
        Cv.FindStereoCorrespondenceBM(imgLeft, imgRight, dstBM, stateBM);
        Cv.ConvertScale(dstBM, dstBM, 16);
        
        Cv.FindStereoCorrespondence(imgLeft, imgRight, DisparityMode.Birchfield, dst, 50, 25, 5, 12, 15, 25);
        Cv.ConvertScale(dst, dst, 16);

        // ウィンドウに表示
        using (CvWindow window = new CvWindow("Stereo Correspondence", dst))
        using (CvWindow windowBM = new CvWindow("Stereo CorrespondenceBM", dstBM))
        {
            Cv.WaitKey();
        }
    }
}




結果

結果は以下のようになります。

【FindStereoCorrespondence】


【FindStereoCorrespondenceBM】
StereoBM.jpg



FindStereoCorrespondenceBMで処理された方の画像が白くなっているのはなぜだろう・・・
FindStereoCorrespondenceでしかされていない処理やアルゴリズム自体の精度の問題があるのかもしれません・・・


Related Entries
Comments
Post a comment
Contributor
Comment
Trackbacks URL
URL
Permalink
Trackbacks
FC2カウンター
プロフィール

詠み人知らず

Author:詠み人知らず
プログラム好きな名もなき凡人がお送りしています。(得意とは言っていない
最近の興味はPython、C#、Matlab(Octave)、画像処理、AR(拡張現実)、統計などなど・・・

気分で思いついたことを書くため話題に一貫性がないかもしれません。

カレンダー
06 | 2017/07 | 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
最新記事
タグクラウドとサーチ

カテゴリ
最新コメント
最新トラックバック
月別アーカイブ