1

生成された matlab コード (.mex) にシステム オブジェクトを使用しようとしています。

ここに関数があります。

function [  ] = filereaderTest( videofile )

fileReader = vision.VideoFileReader(videofile);

while ~isDone(fileReader)
    step(fileReader);
    % do something
end

release(fileReader);

end

codegen filereaderTest -args videofile を試すと、エラーが発生します。「コンストラクター引数 #1 の定数値の計算に失敗しました。コードを生成するには、System Object コンストラクターのすべての引数を定数にする必要があります。...」

VideoFileReader を使用するには、ファイル名をそのコンストラクターに渡す必要があります。それで、ここに私の質問があります。この関数を任意のファイルに使用する方法はありますか? 例えば:

filereaderTest.mex(video1);
filereaderTest.mex(video2); % video1 and video2 are different
4

1 に答える 1

1

あなたがやろうとしていることは不可能です。ドキュメントには明確に記載されています:

System object™ コンストラクターへの引数をコンパイル時の定数として設定します。 (1)

于 2015-08-14T14:56:38.877 に答える