1

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

4

2 回答 2

2

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

edgeObj = vision.EdgeDetector;
edges = step(edgeObj, inputImage);
于 2013-10-28T18:05:06.897 回答
0

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

coder.extrinsic('edge');

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

于 2013-10-28T20:04:55.583 回答