我对MATLAB很新。我在.m文件中定义了一个函数,我想在另一个.m文件中使用该函数。我想从命令窗口运行最后一个.m文件的内容。
我有函数[feature]=hog(image)
。如何在另一个.m脚本中初始化它?
答案 0 :(得分:0)
您正确地将功能定义和功能调用分开。该定义位于您描述的第一个.m文件中。重要的是每个文件只有一个函数(不包括本地函数,匿名函数和嵌套函数),并且该文件与函数同名。在您的情况下,必须将包含函数hog
的文件称为hog.m
。
在脚本中,您运行或调用函数。假设您有一张图片I
,您可以通过以下方式调用您的函数hog
myFeatures = hog(I);
。现在,您可以使用新变量myFeatures
。请注意,脚本必须与函数位于同一文件夹中(或者必须通过addpath('/path/to/function/folder')
添加函数的路径。要从命令窗口调用脚本,只需键入脚本的名称。 / p>
结构示例:
内部hog.m
(函数定义):
function [feature] = hog(image)
% The code of HOG
end
脚本内部(例如runHogDetection.m
),(函数调用)
% Read some image
I = imread('cameraman.tif');
% Get HOG features
myFeatures = hog(I);
% Do whatever else you need
在命令窗口中,您只需调用
即可runHogDetection