我试图在Simulink的Matlab功能块中使用edge(I,'sobel')方法(MATLAB 2013a)。当我尝试编译时,我得到错误“独立代码生成不支持函数'边缘'”。 我知道有一个边缘检测器块,但我想在Matlab功能块中调用该函数。如何解决这个问题。
答案 0 :(得分:2)
如果您有计算机视觉系统工具箱,则可以使用vision.EdgeDetector
系统对象。如果您有边缘检测器块,那么您已经拥有此工具箱。该对象支持代码生成。它使用的默认边缘检测器方法是'Sobel'。为此对象生成代码时,请记住使用构造函数参数设置所有属性。生成代码时,您可能无法在构造后更改属性。
edgeObj = vision.EdgeDetector;
edges = step(edgeObj, inputImage);
答案 1 :(得分:0)
您应该能够将该函数声明为外在函数:
coder.extrinsic( '边缘');
然后它应该适用于模拟而不是代码生成。