Clear Filters
Clear Filters

How To Prevent an Infinite Recursion?

2 views (last 30 days)
kamarthi vanitha
kamarthi vanitha on 4 Dec 2018
Answered: Yap emmanuel on 26 Jan 2019
error is cleared..
  3 Comments
Jan
Jan on 4 Dec 2018
This line looks strange:
result = bilateralfilter_mex bilateralfilter_mex(I, hwsize, sscale, iscale);
Stephen23
Stephen23 on 4 Dec 2018
@kamarthi vanitha: note that bilateralfilter.m is copyright code. Do you have permission to distribute it publicly?

Sign in to comment.

Answers (2)

Image Analyst
Image Analyst on 4 Dec 2018
What are you passing in as input arguments?
We don't have the mex file, so we can't run it ourselves.
Set a breakpoint at the mex file call. Run these lines of code, either in the m-file before the mex file call, or at the command line when you stop at the breakpoint there.
whos I
whos hwsize
whos sscale
whos iscale
What do you see in the command window?
Seems like they cause the mex file to try to create a gigantic array.

Yap emmanuel
Yap emmanuel on 26 Jan 2019
d_mx = 0;
idx = 0;
for a = 2:n-1
d = sqrt((x_np - Pts_in(1,2:n-1)).^2 + (y_np - Pts_in(2,2:n-1)).^2);
d_mx = max(d);
if d > d_mx;
idx = a;
d_mx = d;
end
end
k = length(d);
% % recursively call of the function
% for t = 1:k
if d_mx > epsilon
teil_1 = rdpa(Pts_in(:,1:idx),epsilon);
teil_2 = rdpa(Pts_in(:,idx:n-1),epsilon);
Pts_out = [teil_1(:,1:length(teil_1)-1) teil_2(:,1:length(teil_2))];
else
Pts_out = [Pts_in(:,1) Pts_in(:,n)];
end
end
For this code i receive the answer: Out of memory. The likely cause is
an infinite recursion within the
program.
Que faire s'il vous plait ca dure depuis un temps.

Products


Release

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!