【问题标题】:use argument to system object in matlab code generation在 matlab 代码生成中使用系统对象的参数
【发布时间】:2015-11-07 20:44:00
【问题描述】:

我正在尝试将系统对象用于我生成的 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

【问题讨论】:

  • 正如@Daniel 所说,您无法在编译后更改视频文件。如果您有两个视频文件并内联文件的名称,则需要两个对象。此外,如果您只编译视频文件阅读器,您也不会获得太多速度,因为它们涉及文件读取操作。最好直接使用 MATLAB 中的对象而不是 mex 文件。

标签: matlab matlab-cvst codegen


【解决方案1】:

您尝试做的事情是不可能的。文档清楚地说明:

将 System object™ 构造函数的参数设置为编译时常量。 (1)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-28
    • 2013-12-19
    • 1970-01-01
    • 1970-01-01
    • 2016-08-30
    • 2011-01-30
    • 1970-01-01
    相关资源
    最近更新 更多