Main Content

イメージ処理のコード生成

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 コードを変更します。

参考

(MATLAB Coder) | (MATLAB Coder)

関連する例

詳細