一晩寝て、ちょっとすっきりしたので前回エントリでアップした『統合アーカイバ』DLL用ライブラリの更新と解説を少しだけ。
2011年2月28日月曜日
[LabVIEW]俺のLabVIEWがZIPしか圧縮できないわけがない
またこのタイトルですw
以前のエントリで、「『統合アーカイバプロジェクト』プラグインDLLをLabVIEWから使って圧縮が出来るようにするLLBを書く予定は現在のところありませんw」とかホザいてましたが、仕事が手持ち無沙汰だったのでちょっと書いてみました。
…まぁ、ちょっと、というにはかなり手間かかったんスけどねw
ダウンロードと愚痴は続きから
以前のエントリで、「『統合アーカイバプロジェクト』プラグインDLLをLabVIEWから使って圧縮が出来るようにするLLBを書く予定は現在のところありませんw」とかホザいてましたが、仕事が手持ち無沙汰だったのでちょっと書いてみました。
…まぁ、ちょっと、というにはかなり手間かかったんスけどねw
ダウンロードと愚痴は続きから
2011年2月22日火曜日
[LabVIEW]LabVIEWからDLLを遅延バインディングで利用する
前々回・前回の「LabVIEWからSusie plugin DLLを利用する」では、DLL関数に『ライブラリ関数呼び出しノード』を使ってアクセスしていました。このノードの【ダイアグラムでパスを指定】オプションを使うことで、異なるDLLにある関数を実行時に呼び分けることが可能となっていました。
ただし、これはどのDLLでも関数名・引数列が同じだから出来ていたわけで、要するに『ライブラリ関数呼び出しノード』は事前バインディングなわけです。
世の中に存在するプラグインとして機能するDLLが、全てSusie pluginのように「同じ関数名・同じ引数列」ならば良かったんですが、そんなには甘くありませんw
例えば、様々な形式の圧縮・解凍処理をプラグインDLLとして共通化されたAPIから利用しよう、という『統合アーカイバプロジェクト』ってのがあるんですが、このプラグインDLLでは、各機能を持つ関数の引数列は同じですが、関数名が「DLL固有名+機能共通名」とDLL関数によって異なっています。
これだと、LabVIEWの 『ライブラリ関数呼び出しノード』による事前バインディングでは、簡単には対応できません。
というわけで、どうにかならんもんか、と色々調査してみました。
ただし、これはどのDLLでも関数名・引数列が同じだから出来ていたわけで、要するに『ライブラリ関数呼び出しノード』は事前バインディングなわけです。
世の中に存在するプラグインとして機能するDLLが、全てSusie pluginのように「同じ関数名・同じ引数列」ならば良かったんですが、そんなには甘くありませんw
例えば、様々な形式の圧縮・解凍処理をプラグインDLLとして共通化されたAPIから利用しよう、という『統合アーカイバプロジェクト』ってのがあるんですが、このプラグインDLLでは、各機能を持つ関数の引数列は同じですが、関数名が「DLL固有名+機能共通名」とDLL関数によって異なっています。
これだと、LabVIEWの 『ライブラリ関数呼び出しノード』による事前バインディングでは、簡単には対応できません。
というわけで、どうにかならんもんか、と色々調査してみました。
2011年2月20日日曜日
2011年2月13日日曜日
[LabVIEW] Susie pluginを使う
LabVIEWって、、、対応画像ファイルフォーマット、少なくないッスか?
デフォで「BMP・JPEG・PNG」、Vision開発モジュール入れても「JPEG2000・TIFF」、、、こんだけってw
著名なとこだと「GIF」が読めません(昔は特許絡みの問題を避けるためだったんでしょうが…もう切れてるしなぁ)。
「GIF」だけ読めればイイってんなら、ココで紹介されてるようなライブラリを使う、ってのもアリですが、
読みたいフォーマット全てに対して、ローダを一から書くのは、いくら『車輪の再発明大好きっコ』な私でも勘弁願いたいところですw
こういう場合、我々日本人なら、グラフィックビューワ「Susie」に対応した「plugin」を使うのが常道ですね。
ココとかに、色んなフォーマットに対応したpluginへのリンクが貼られています。
というわけで、LabVIEWから「Susie plugin」を使ってみたいと思います。
デフォで「BMP・JPEG・PNG」、Vision開発モジュール入れても「JPEG2000・TIFF」、、、こんだけってw
著名なとこだと「GIF」が読めません(昔は特許絡みの問題を避けるためだったんでしょうが…もう切れてるしなぁ)。
「GIF」だけ読めればイイってんなら、ココで紹介されてるようなライブラリを使う、ってのもアリですが、
読みたいフォーマット全てに対して、ローダを一から書くのは、いくら『車輪の再発明大好きっコ』な私でも勘弁願いたいところですw
こういう場合、我々日本人なら、グラフィックビューワ「Susie」に対応した「plugin」を使うのが常道ですね。
ココとかに、色んなフォーマットに対応したpluginへのリンクが貼られています。
というわけで、LabVIEWから「Susie plugin」を使ってみたいと思います。
2011年2月8日火曜日
[LabVIEW]DirectShowLib_for_LabVIEWのNTSCキャプチャへの対応
以前に紹介した「DirectShowLib_for_LabVIEW」ですが、『PC-SDVD/U2G』のようなNTSCキャプチャーデバイスに対応させるため、一部変更を行いました(ダウンロードは本エントリからどうぞ)。
DS_PrepareFromCameraName.viを、手作業でフィルターピンを繋ぐやり方から、ICaptureGraphBuilder2::RenderStreamメソッドを使うやり方に変更しました。
これにより、NTSCキャプチャーデバイスからの映像処理に必要なクロスバー用フィルタの作成が自動で行われるようになっています。
デジカメ『GE C1033』からのライブビューを『PC-SDVD/U2G』でキャプチャーし、それをLLB同梱のDemo_CameraSnap.viで取り込んだときの様子です。
これで応用範囲が広がりんぐですねw
DS_PrepareFromCameraName.viを、手作業でフィルターピンを繋ぐやり方から、ICaptureGraphBuilder2::RenderStreamメソッドを使うやり方に変更しました。
これにより、NTSCキャプチャーデバイスからの映像処理に必要なクロスバー用フィルタの作成が自動で行われるようになっています。
デジカメ『GE C1033』からのライブビューを『PC-SDVD/U2G』でキャプチャーし、それをLLB同梱のDemo_CameraSnap.viで取り込んだときの様子です。
これで応用範囲が広がりんぐですねw