06-10-2009 03:16 AM
お世話になっております。
画像解析にOpenCVを使用したいと考えているのですが、これをLabVIEW上で関数を読み込むにはどのような手順が必要でしょうか。
インターフェイスにLabVIEWを使用し、解析部分等をOpenCVを使用するプログラム、というものを考えております。
CのDLLを読み込むのと同じ手順でもいいのか、それとも異なる手段があるのか。
それと、インクルード等のパス位置を(C++等では)決定しますが、このような設定手順をLabVIEWでも必要とするのでしょうか。
お聞かせ願えれば幸いです。
以上宜しくお願い致します。
06-11-2009 06:16 AM
5343Eddy 様
平素より弊社製品をご使用いただき誠に有難うございます。
日本ナショナルインスツルメンツ技術部の星と申します。
宜しくお願いします。
DLLを読み込んで行うことも可能ですが、OpenCV関数を呼び出す場合はDLLラッパーを使うことをお勧めします。
下記リンクに例もございますので参考までにご参照ください。
Using OpenCV library in LabVIEW
http://forums.ni.com/ni/board/message?board.id=200&message.id=16712&requireLogin=False
上記内容に関しましてご不明な点等ございましたら再度ご連絡願います。
宜しくお願いします。
日本ナショナルインスツルメンツ株式会社
星 大輝
03-31-2011 03:29 AM
OpenCVのdllの作成方法を詳しく教えていただけませんか
たとえば、vc++プロジェクトには何か設定が必要ですか
インクルードとか
よろしくお願いします。
03-31-2011 09:16 PM
walxhy 様
平素より弊社製品をご使用いただき誠に有難うございます。
日本ナショナルインスツルメンツ技術部の星と申します。
上記リンクの事例にサンプルがございまして、インクルードなどについても記載がありますが参考にならないでしょうか。
LabVIEWはあくまでもDLLを呼び出すための関数を提供しているので、
OpenCV用のDLLの作成方法については大変恐縮ですが専門外となってしまうのですが、
LabVIEWで使用するためのDLLの作成方法については以下のような資料がございます。
リンク先では英語になりますことご了承ください。
Building a DLL with Visual C++
http://zone.ni.com/devzone/cda/tut/p/id/3056
また、下記のような事例もございますので参考までにご参照ください。
OpenCVの使い方
宜しくお願いします。
日本ナショナルインスツルメンツ株式会社
星 大輝
04-18-2011 11:01 AM
こんにちは。
OpenCV110を使用した例を添付します。
にも記載しましたが、ポインタを整数として取り扱うと、「ライブラリ関数呼び出しノード」でいろいろなライブラリが使用できるようになります。
ただ、引き数や戻り値に構造体もつdllは、うまく使えません。
構造体を取り扱う場合、ラッパーdllを作成する必要があります。
dllの作り方は、下記ページが参考になります。
http://zone.ni.com/devzone/cda/tut/p/id/12339
注意ですが、このなかで、ヘッダファイルの中身の
BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD,LPVOID);
....
を
BOOL WINAPI DllMain(HANDLE hModule,DWORD,LPVOID);
...
と直す必要があります。
04-18-2011 11:13 AM
追伸です。
>それと、インクルード等のパス位置を(C++等では)決定しますが、このような設定手順をLabVIEWでも必要とするのでしょうか。
ライブラリ関数呼び出しノードで、直接dllのパスを指定すればOKです。
>vc++プロジェクトには何か設定が必要ですか
おっしゃる通り、OpenCVライブラリのパスを通す必要はありますね。
VC++でOpenCVを使用する環境を整えればOKです。
VC++とOpenCVとの組み合わせは一般的ですので、設定方法はWebで簡単に見つかるかと思います。
参考書もたくさん出版されていますので、参考にされてはいかがでしょうか。