我试图用边缘(I,“索贝尔”)方法在Simulink Matlab的功能块(MATLAB 2013a)内。 当我尝试编译,我得到的错误“功能的‘边缘’不支持独立的代码生成”。 我知道有一个边缘检测块,但我要调用的函数在Matlab功能块。 如何来解决这个问题。
Answer 1:
如果您有计算机视觉系统工具箱可以使用vision.EdgeDetector
系统对象。 如果你有边缘检测块,那么你已经有这个工具箱。 此对象支持代码生成。 它使用默认边缘检测方法是“索贝尔”。 当你为这个对象生成代码记得设置使用构造函数参数的所有属性。 您可能无法生成代码时施工后更改属性。
edgeObj = vision.EdgeDetector;
edges = step(edgeObj, inputImage);
Answer 2:
您应该能够声明函数作为外在:
coder.extrinsic( '边缘');
那么它应该工作进行模拟,但不是代码生成。
文章来源: The function 'edge' is not supported for standalone code generation