【问题标题】:The function 'edge' is not supported for standalone code generation独立代码生成不支持函数“edge”
【发布时间】:2017-03-03 13:17:56
【问题描述】:

我正在尝试在 Simulink(MATLAB 2013a)的 Matlab 功能块中使用 edge(I,'sobel') 方法。当我尝试编译时,我收到错误“独立代码生成不支持函数'edge'”。 我知道有一个边缘检测器块,但我想在 Matlab 功能块中调用该函数。如何解决这个问题。

【问题讨论】:

  • 我不知道你打算做什么。也许 Matlab Builder NE 是一个解决方案,输出是一个 .net DLL。

标签: matlab simulink matlab-cvst edge-detection


【解决方案1】:

如果您有计算机视觉系统工具箱,您可以使用vision.EdgeDetector 系统对象。如果你有边缘检测器块,那么你已经有了这个工具箱。该对象支持代码生成。它使用的默认边缘检测器方法是“Sobel”。当您为此对象生成代码时,请记住使用构造函数参数设置所有属性。生成代码时,可能无法在构造后更改属性。

edgeObj = vision.EdgeDetector;
edges = step(edgeObj, inputImage);

【讨论】:

    【解决方案2】:

    您应该能够将函数声明为外部函数:

    coder.extrinsic('edge');

    那么它应该适用于模拟而不是代码生成。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-17
      • 1970-01-01
      • 1970-01-01
      • 2011-08-09
      • 1970-01-01
      • 2017-03-15
      • 2018-08-29
      • 1970-01-01
      相关资源
      最近更新 更多