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 的常量值。要生成代码,系统对象构造函数的所有参数都应该是常量。......”

要使用 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 回答