Not enough input arguments. Error in feature_extract3 (line 3) imdist=rgb2gray(imdist);
7 views (last 30 days)
Show older comments
CODE :
function f = feature_extract3( imdist ,scale)
f=[];
imdist=rgb2gray(imdist);
weight=[0.2 0.8];
for i=1:scale
im=imdist;
fun0=@(x)secal(x);
emat=blkproc(im,[8 8] ,fun0);
sort_t = sort(emat(:),'ascend');
len = length(sort_t);
t=sort_t(ceil(len*weight(1)):ceil(len*weight(2)));
mu= mean(t);
ske=skewness(sort_t);
f1=[ mu ske];
im=imdist;
fun1=@(x)fecal(x);
im=double(im);
femat=blkproc(im,[8 8],fun1);
sort_t = sort(femat(:),'ascend');
len = length(sort_t);
t=sort_t(ceil(len*weight(1)):ceil(len*weight(2)));
mu= mean(t);
ske=skewness(sort_t);
f2=[ mu ske];
f=[f f1 f2] ;
imdist = imresize(imdist,0.5);
end
end
Q: This a code for feature extraction from the web, i am getting the error in rgb2gray function
1 Comment
Answers (1)
Abhishek
on 24 Jun 2025
Generally, MATLAB throws “not enough input arguments” error when a function is called with fewer input parameters than it requires to execute correctly.
The function ‘feature_extract3’ in the code shared requires two input arguments: ‘imdist’ and ‘scale’. However, only ‘imdist’ argument is being passed, which leads to the error.
To resolve the issue, pass the ‘scale’ parameter along with ‘imdist’ parameter when calling the function.
2 Comments
Walter Roberson
on 24 Jun 2025
In order for this errror message to appear, imdist must not have been passed to the function -- the function is being called with no parameters at all. For example the function might have been invoked by pressing the green Run button instead of by calling it at the command line passing in appropriate parameters.
See Also
Categories
Find more on Point Cloud Processing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!