2

私は、Matlab c++ 共有ライブラリを使用する必要がある Qt プロジェクトに取り組んでいます。私は基本的に取得した画像を使用して作業しており、後でそれらをさらに処理する必要があります。

Cプラットフォームで画像を取得し、必要に応じてMatlabを呼び出して処理することが絶対に必要です。私の画像は高速で来ています:毎秒約100フレーム。

問題は、ループで Matlab を呼び出すたびに、取得した画像を処理できますが、リアルタイムでは処理できないことです。Matlab での後続の呼び出しの間には 1 ~ 2 秒かかります。他の画像を洗い流して、いくつかの画像をプロットしているだけだと思います。

Matlab 関数を 1 回呼び出すだけで、入力をリアルタイムで変更できる方法を教えてください。プロジェクトを実行するすべてのコンピューターに Matlab をインストールする必要があるため、Matlab Engine を使用するつもりはありません。

4

1 に答える 1

1

MATLAB Compiler を使用して MATLAB コードからライブラリを作成し、1 秒あたり 100 回呼び出すことができると期待していますか?

それは起こりません - ライブラリを呼び出すオーバーヘッドが高すぎます。あなたのライブラリもいくつかのプロットを行っているように思えますが、これにも時間がかかりすぎる可能性があります.

おそらく、MATLAB Coder を使用して MATLAB 画像処理アルゴリズムを C コードに変換し、その C コードをメイン コードに直接統合することを検討できます。Image Processing Toolbox の多くは、Computer Vision System Toolbox や Signal Processing 関連のツールボックスの多くと同様に、MATLAB Coder でサポートされています。

于 2013-03-25T11:07:28.230 に答える