2011-10-18 6 views
0

OpenCVとそのPythonラッパーを日常的に使用して、コンピュータビジョンアルゴリズムを作成します。OpenCVを使ってOpenCVを使ってSwigを使ってPythonにバインドする

いくつかの複雑な関数では、計算時間を短縮し再利用を容易にするCバージョンを保持する必要があります。

このように、iplimageのようなopencv構造体を使用するC関数をPythonで使用するためにバインドしたいと思います。あなたは私にそれについていくつかのヒントを教えていただけますか?私は 実際にどこから始めるべきか分かりません。

iplimagesを含む私の構造はここにあります。

typedef struct{ 
    int nbBlobs; 
    IplImage *labels; 
    IplImage *contours; 
}ccl_conf_t; 

そして、ここで私の機能のpropotypesです:

int ccl_init(ccl_conf_t *conf, IplImage *frame); 
void ccl_unInit(ccl_conf_t *conf); 
int ccl_label(ccl_conf_t *conf, IplImage *frame, int option); 

私はあなたが私を与えることができる任意のヒントのために感謝されます!

答えて

0

Pythonのロード可能モジュールをC言語で作成するのは簡単です。ここから始めてください:http://docs.python.org/c-api/

Pythonソース自体の小さな例を簡単に取り、自分の使い方に拡張するのは簡単です。 Pythonソースの 'Modules'ディレクトリを見てください。

+0

Hummm。 。 。答えをありがとうが、それはあなたのようなCコードにPythonを埋め込む話ですか?私の目的はちょうど反対です!私はPython関数として使うべきC関数を持っています!私が間違っている? – jlengrand

+0

私は間違ったリンクがあったと思う。私は "C/C++でPythonを拡張する"を探していました。 Pythonから呼び出せるCモジュールを作成する簡単な例については、http://docs.python.org/extending/extending.html#a-simple-exampleを参照してください。 –

+0

情報ありがとうございます。私はそれを試し、あなたに知らせる:)。何が私を少し殺すのは、私がやりたいことがOpencv用のPythonバインディングですでに実行されているということです。私はそれをどのように使うことができないのか分かりません。 – jlengrand

関連する問題