simulink中的imwarp功能块

时间:2015-10-02 15:53:49

标签: matlab simulink

我需要在Simulink中创建一个块来变形视频流。 我为Simulink的'Interpreted MATLAB Fcn'块创建了这段代码:

function B = deformation(A,tform)
%#codegen

B=imwarp(A,tform);

对我来说,问题是:

  • 如何创建块以提供作为结构的tform的输入
  • 如何管理A,即来自Simulink中“来自视频设备”块的信号

我已经测试了静态图像的imwarp函数,并且我已经计算了tform值作为imwarp的输入

是否有方法更新simulink块上的计算tform。他们不应该改变

1 个答案:

答案 0 :(得分:1)

在simulink中有3种方法可以使用Matlab函数。

  • 解释Matlab函数
  • 1级Matlab s-functions
  • 2级Matlab s-functions

就我个人而言,我既不喜欢1级功能也不喜欢Matlab功能。对于1级s函数,你必须告诉simulink你计划使用哪些函数,类似于include。 解释的Matlab函数非常受限制,因此我建议你在做一些高级的东西后立即使用2级Matlab函数。

另外我建议您使用3维数组而不是结构,图片是x * y * 3数组,您可以在simulink块中使用它。您可以使用setInputDimension获取输入大小并根据您的意愿设置输出大小(2级s函数)。

此外,如果您的问题只是格式结构,您可以编写一个简单的脚本,将结构转换为三维数组,这对于simulink来说没有问题(在这种情况下,您可以使用解释的matlab函数)。

最后:我很确定你不能使用结构在simulink块之间传递数据,除了你读写基础工作区,并且在你的块之间没有真正的信息传递。

我希望这有点帮助。