一生懸命POCを実装していましたが、
OpenCV内にphaseCorrelateとしてPOCが定義されているのを発見しました。

ヘルプなどあさってみましたが特に記載されていないため、
まだベータ版なのかもしれませんが問題なく動作していたためご紹介を

opencvフォルダ内の以下のディレクトリにそれぞれ格納されていました。
関数自体の定義
modules\imgproc\src\phasecorr.cpp
モジュール(?)のテスト
modules\imgproc\test\test_pc.cpp
使用方法
samples\cpp\phase_corr.cpp



ソース

phase_corr.cppをそのまま転載します。

#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"

using namespace cv;

int main(int, char* [])
{
    VideoCapture video(0);
    Mat frame, curr, prev, curr64f, prev64f, hann;
    int key = 0;

    do
    {
        video >> frame;
        cvtColor(frame, curr, CV_RGB2GRAY);

        if(prev.empty())
        {
            prev = curr.clone();
            createHanningWindow(hann, curr.size(), CV_64F);
        }

        prev.convertTo(prev64f, CV_64F);
        curr.convertTo(curr64f, CV_64F);

        Point2d shift = phaseCorrelate(prev64f, curr64f, hann);
        double radius = cv::sqrt(shift.x*shift.x + shift.y*shift.y);

        if(radius > 5)
        {
            // draw a circle and line indicating the shift direction...
            Point center(curr.cols >> 1, curr.rows >> 1);
            cv::circle(frame, center, (int)radius, cv::Scalar(0, 255, 0), 3, CV_AA);
            cv::line(frame, center, Point(center.x + (int)shift.x, center.y + (int)shift.y), cv::Scalar(0, 255, 0), 3, CV_AA);
        }

        imshow("phase shift", frame);
        key = waitKey(2);

        prev = curr.clone();
    } while((char)key != 27); // Esc to exit...

    return 0;
}



27行目がPOCです。画像を渡すとPoint2dで座標が返却されます。
動作内容はカメラから画像(フレーム)を取得し、前のフレームと比較しカメラがどちらに動いているか判定するようです。
移動方向をフレーム中心の円の大きさを用いて表示するようになっております。

参考までにご紹介です。
Related Entries
Comments
Post a comment
Contributor
Comment
Trackbacks URL
URL
Permalink
Trackbacks
FC2カウンター
プロフィール

詠み人知らず

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

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

カレンダー
03 | 2017/04 | 05
- - - - - - 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 - - - - - -
最新記事
タグクラウドとサーチ

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