首页 文章

simulink中的imwarp功能块

提问于
浏览
0

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

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

B=imwarp(A,tform);

对我来说现在的问题是:

  • 如何创建块以提供作为结构的tform的输入

  • 如何管理A,即Simulink中来自'From Video device'块的信号

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

有没有一种方法来更新simulink块上的计算tform . 他们不应该改变

1 回答

  • 1

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

    • 解释了Matlab函数

    • level 1 Matlab s-functions

    • level 2 Matlab s-functions

    就个人而言,我既不喜欢1级功能也不喜欢Matlab功能 . 对于1级s函数,你必须告诉simulink你计划使用哪些函数,类似于include . 解释的Matlab函数是非常有限的,所以我建议你一个2级Matlab s函数,只要你打算做一些高级的东西 .

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

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

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

    我希望这有点帮助 .

相关问题