在 matlab 代码生成中使用系统对象的参数

use argument to system object in matlab code generation

我正在尝试为我生成的 matlab 代码 (.mex) 使用系统对象

这是函数。

function [  ] = filereaderTest( videofile )

fileReader = vision.VideoFileReader(videofile);

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

release(fileReader);

end

当我尝试 codegen filereaderTest -args videofile 时,出现错误。 它说 "fail to compute constant value for constructor arguement #1. To generate code, all argument for System Object constructor should be constant. ..."

要使用VideoFileReader,必须将文件名传递给它的构造函数。 所以,这是我的问题:有什么方法可以将此功能用于任何文件?例如:

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

你想做的事是不可能的。文档明确指出:

Set arguments to System object™ constructors as compile-time constants. (1)