Computer Vision Toolbox Interface for OpenCV in Simulink のインストールと使用
OpenCV Importer アプリケーションを使用して、OpenCV コードを Simulink モデルにインポートできます。OpenCV Importer アプリケーションは、Computer Vision Toolbox™ Interface for OpenCV in Simulink® のサポート パッケージをインストールすると利用できるようになります。
インストール
サポート パッケージをインストールするには、次のいずれかの方法を使用します。
Simulink への OpenCV コードのインポート
OpenCV Importer を起動するには、MATLAB ツールストリップの [アプリ] をクリックします。下矢印をクリックして、その他のオプションを表示します。[マイ アプリ] で OpenCV Importer アプリ アイコンをクリックします。あるいは、コマンド ライン インターフェイスから OpenCV Importer を起動できます。MATLAB コマンド ラインで以下を入力します。
Simulink.OpenCVImporter
OpenCV Importer アプリに、[Welcome] ページが表示されます。
[Project name] フィールドで、インポートの名前を指定します。新規のインポートを開始するか、以前のインポートで保存したファイルを読み込むことができます。プロジェクトは
.m
ファイルの形式で保存されます。以前のインポートで保存したファイルを参照するには、[Load a file saved from a previous import] を選択します。[Next] をクリックします。[Specify OpenCV Library] ページで、C++ ライブラリの情報を指定します。以前に保存したプロジェクト ファイルをインポートした場合、すべてのフィールドが自動的に入力されます。
Project root folder: 出力ファイル (ラッパー ファイルと Simulink ライブラリ) を保存する、書き込み可能なフォルダーのパス。
Source files: OpenCV ソース ファイルのパス。
.cpp
ファイル形式を指定します。絶対パスを指定した場合、アプリは指定した場所のファイルを使用します。絶対パスを指定しなかった場合、アプリはプロジェクト ルートの相対パスを使用します。Include files: ヘッダー ファイルのパス。
.hpp
ファイル形式を指定します。絶対パスを指定した場合、アプリは指定した場所のファイルを使用します。絶対パスを指定しなかった場合、アプリはプロジェクト ルートの相対パスを使用します。Include paths: 任意の追加のインクルード フォルダー (フォルダー情報) を定義します。MATLAB OpenCV のインクルード ファイルが含まれます。
Library files: 外部ライブラリ ファイルを指定します。
指定するファイルやフォルダーが複数ある場合は、セミコロンで区切られたファイルやフォルダーのリストを使用します。[Next] をクリックします。
インポートでサポートされている関数と型を確認するために、[Next] をクリックしてライブラリを解析します。解析が完了したら、[Next] をクリックします。
[インポートの対象] ページには、Computer Vision Toolbox Interface for OpenCV in Simulink がサポートする関数がリストされます。Simulink にインポートする関数を選択し、[Next] をクリックします。
各 [I/O Type] は、Simulink モデルにマップする OpenCV 関数の引数に対応しています。これらのさまざまな [I/O タイプ] がサポートされています。
Input
- 入力引数用Output
- 出力引数用InputOutput
- 入出力引数用
入力/出力の型を選択するために、[I/O Type] 列のドロップダウン リストの
[Output]
オプションをダブルクリックし、[Next] をクリックします。[Create Simulink Library] ページで、選択した関数のサブシステム ブロックのみを生成するか、サブシステム ブロックと C Caller ブロックを生成することができます。C Caller ブロックは、OpenCV データを Simulink に統合します。生成されるサブシステム ブロックには、データ変換ブロックを使用して構成する C Caller ブロックが含まれます。
サブシステム ブロックと C Caller ブロックを生成するには、[Create a single C-caller block for the OpenCV function] を選択し、[Next] をクリックします。
OpenCV コードに
Mat
データ型が含まれている場合、既定の出力サイズは (720,1280,3
)、既定の基となる型はuint8
です。ベクトルの場合、既定のサイズは100
です。モデル要件に基づいて、既定のサイズを変更できます。イメージに
Simulink.ImageType
データ型を使用するには、[Configure library to use Simulink.ImageType signals] を選択し、モデルの要件に基づいてパラメーター [Default Color Format of Simulink.ImageType signal] と [Default Array layout of Simulink.ImageType signal] を構成します。OpenCV コードを基に Simulink ライブラリ
Projectname_Lib.slx
がプロジェクトのルート フォルダーに作成されます。このライブラリには、サブシステム ブロックと C Caller ブロックが含まれます。これらのブロックのいずれかをモデルにドラッグし、モデル内の既存のブロックに接続して、モデル シミュレーションを実行できます。
アプリにより、ソース ファイルとヘッダー ファイルのラッパー ファイルも作成されます。
制限
Computer Vision Toolbox Interface for OpenCV in Simulink サポート パッケージ:
MATLAB サードパーティ サポートの一部として OpenCV を使用します。追加機能の OpenCV は [アドオン] (Computer Vision Toolbox) で入手できます。
外部 OpenCV ライブラリ (たとえば、
opencv_contrib
) はサポートしていません。InputArray
、OutputArray
、およびInputOutputArray
のデータ型をサポートしていません。Microsoft® Visual Studio® 2015 以降の Professional および Community エディション (Windows 64 オペレーティング システム用) が必要です。コンパイラの詳細については、OpenCV ライブラリを使用する関数に対応する移植可能な C コードの生成を参照してください。
行優先の配列レイアウトを使用する C++ コード生成をサポートします。
SIL の参照モデル境界を越える
CV_type
信号はサポートされていません。