[英]how to call a user defined function in matlab in another .m script
我對MATLAB很陌生。 我已經在.m文件中定義了一個函數,並且想在另一個.m文件中使用該函數。 我想從命令窗口中運行最后一個.m文件的內容。
我有功能[feature]=hog(image)
。 如何在另一個.m腳本中初始化它?
您正在正確地分離函數定義和函數調用 。 該定義在您描述的第一個.m文件中。 重要的是每個文件只有一個函數(不包括本地,匿名和嵌套函數之類的東西),並且文件與函數具有相同的名稱。 在您的情況下,包含功能hog
的文件必須稱為hog.m
在腳本內部,您可以運行或調用函數。 假設您有一個圖像I
,則可以通過編寫例如myFeatures = hog(I);
來調用函數hog
myFeatures = hog(I);
。 現在,您可以使用新變量myFeatures
。 請注意,腳本必須與函數位於同一文件夾中(或者必須通過addpath('/path/to/function/folder')
。要從命令窗口調用腳本,只需輸入腳本名稱。
示例結構:
內部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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.