イメージ処理のコード生成
Image Processing Toolbox™ のいくつかの関数は、スタンドアロン C コード、プリコンパイルされたプラットフォーム固有の共有ライブラリに依存する C コード、またはその両方を生成できます。コードを生成するには MATLAB® Coder™ が必要です。
コード生成をサポートする Image Processing Toolbox の関数の完全な一覧については、コード生成をサポートする関数を参照してください。コード生成の使用例については、オブジェクト検出用コードの生成を参照してください。
Image Processing Toolbox でサポートされているコード生成のタイプ
Image Processing Toolbox では、3 種類のコード生成をサポートしています。
スタンドアロン C コードを生成する関数。このコードは、ARM プロセッサなど多数のプラットフォームで稼働するアプリケーションに組み込むことができます。スタンドアロン C コードのみをサポートする関数の例として、
immse
があります。プラットフォーム固有の共有ライブラリ (
.dll
、.so
または.dylib
) に依存する C コードを生成する関数。共有ライブラリを使用すると、これらの関数のパフォーマンスは最適化されますが、このコードを実行できるターゲット プラットフォームは、MATLAB をホストできるプラットフォームのみに限定されます。ホスト プラットフォームの一覧については、システム要件を参照してください。共有ライブラリに依存する C コードのみをサポートする関数の例として、bwpack
があります。スタンドアロン C コードまたは共有ライブラリに依存する C コードを生成する関数。どちらを生成するかは、MATLAB Coder のコンフィギュレーション設定で指定したターゲット プラットフォームによります。ターゲット プラットフォームに汎用の
MATLAB Host Computer
を指定した場合、これらの関数は共有ライブラリに依存する C コードを生成します。それ以外のターゲット プラットフォームを指定した場合、これらの関数はスタンドアロン C コードを生成します。スタンドアロン C コードと共有ライブラリに依存する C コードの両方をサポートする関数の例として、regionprops
があります。
次の図は、C コードの生成と共有ライブラリを使用するコード生成の違いを説明しています。
イメージ処理関数を使用したコード生成
サポートされているツールボックス関数は、生成されたコード内での名前、引数、機能が Image Processing Toolbox の対応する関数と同じになります。コード生成でイメージ処理関数を使用するには、次の手順に従います。
MATLAB の関数を使用して、Image Processing Toolbox の関数またはアプリケーションを通常どおりに作成します。
関数シグネチャの最後に
%#codegen
コンパイラ命令を追加します。この命令は、MATLAB コード アナライザーに対して、コード生成の妨げとなる問題を診断するように指示します。MATLAB Coder (MATLAB Coder) アプリを開き、プロジェクトを作成して、作成したファイルをプロジェクトに追加します。このアプリでは、作成したコードでコード生成の準備が整っているかどうかをチェックできます。たとえば、コード生成に対応していない関数がコードに含まれている場合があります。コード生成に必要な変更を行います。
MATLAB Coder アプリの [コード生成] ページで [生成] をクリックして、コードを生成します。MEX ファイル、共有ライブラリ、ダイナミック ライブラリ、実行可能ファイルのいずれかを選択して生成できます。
MATLAB Coder で特定された準備状態の問題がすべて解決済みであっても、ビルドに問題が発生する場合があります。準備状態のチェックでは、関数の依存関係のみを確認します。コードを生成しようとしたときに、コード生成でサポートされていない符号化パターンが MATLAB Coder によって検出される場合があります。エラー レポートを確認して、正常にビルドできるように MATLAB コードを変更します。
参考
codegen
(MATLAB Coder) | MATLAB Coder (MATLAB Coder)
関連する例
詳細
- コード生成のワークフロー (MATLAB Coder)
- MATLAB Coder アプリを使用した C コードの生成 (MATLAB Coder)
- コード生成をサポートする関数
- MATLAB Coder