0

ポイントグレイカメラ( http://www.ptgrey.com/ )でリアルタイムに撮影した画像を処理するアプリケーションを開発しています。Point Grey SDKは.netラッパーであり、32ビットまたは64ビットのいずれかです。

次に、キャプチャした画像を処理するために、32ビットまたは64ビットの両方のフレーバーで提供されるEmgu CV( http://www.emgu.com/ )と呼ばれるopenCVのラッパーを使用しています。

今、Vista64を使用しているので、パフォーマンスを最大化することを期待して、64ビットバージョンのFlyCapture(Point GreyのSDK)とEmgu CV(インストールにopenCVを含む)を選びました。

最近、XNAからFlyCapture + Emgu DLLコードを呼び出したいと思っていましたが、残念ながら32ビットでしか存在しません。IPCを実際に使用したくないので、これらすべてのコンポーネントを32ビットで再インストールする必要があるかもしれません。リモーティングなど。

32ビットに固有のメモリスペースの明らかな制限とは別に、私が期待すべきパフォーマンスの低下もありますか?それはどれほど劇的で、なぜですか?

アドバイスや説明をよろしくお願いします。

4

3 に答える 3

6

多くのテストの後、x86 openCV + emgu コンボは、一連の 14 の異なる一般的な openCV メソッド (スムージング、画像コピー、画像フォーマット変換など) を使用したテストで、x64 よりも 1.408 倍遅いことが判明しました。

于 2010-06-06T16:47:17.263 に答える
1

試してみてください!

どちらの方向にも進む可能性がある理由を考えることができます (使用しているソフトウェアの詳細に精通していないため)。

ポインタは 32 ビット プロセスでは半分の大きさになるため、メモリの負荷が軽減されます。32 ビット ソフトウェアは以前から存在しており、最適化されている可能性があります。しかし一方で、画像処理は、64 ビット プロセスが提供するより大きなレジスタ サイズにうまく対応する傾向があります。

パフォーマンスは同じ範囲内にあり、おそらくプラスまたはマイナス 20% になると思います。しかし、あなたは決して確信することはできません。桁違いの型違いが出てきたら心配になります。

于 2010-06-06T06:31:41.627 に答える
1

同様の状況があります (PT グレー カメラと C# アプリケーションの emgu openCV ラッパー)。

emgu は x64 でさらに高速であることもわかりました (win 7 と win XP x86 を比較)。最初に、アプリケーションの残りの部分で x64 の方が遅いと思いましたが、それはデバッグ モードでした。リリースモードでは、パフォーマンスは同等です。VS2010 (x64) でのデバッグ バージョンは、VS2008 バージョン (x86) よりも遅いようです。

于 2010-08-31T09:13:16.213 に答える