我的函数文件以function drawline(point1,point2,color,img)
开头。最后,我应该返回一个图像。我如何编写返回行?
我在另一个Stack Overflow问题中发布了代码, MATLAB中的颜色问题。
在您的代码中,您应该返回img
变量,因为这是您正在修改的变量,而不是不存在的image
变量。
此外,由于MATLAB中的所有基本类型都(有效地)通过值而不是引用传递,因此您需要分配输出参数才能获得任何返回。使用下面的函数调用:
[img] = drawline(p1,p2,color,img);
编辑:你的函数应该是这样的:
function img = drawline(p1,p2,color,img)
...
% code that updates IMG.
...
然后在命令窗口中必须写入
[img] = drawline(p1,p2,color,img);
MATLAB函数的介绍可以在这里找到:http://www.mathworks.co.uk/help/techdoc/learn_matlab/f4-2525.html.
您不需要编写返回行代码,只需定义函数使其返回图像:
function [ Image ] = drawline( point1,point2,color,img )
...
function_instructions
...
end
重要的是您将图像存储在image变量中。
在调用drawline函数的脚本中,你应该使用这样的语句:
[ Image ] = drawline( point1,point2,color,img );
如果您需要matlab图像处理方面的帮助,请查看以下内容:
- http://amath.colorado.edu/courses/5720/2000Spr/Labs/Worksheets/Matlab_tutorial/matlabimpr.html
- http://www.mathworks.it/help/techdoc/ref/image.html