Azzera filtri
Azzera filtri

How To Prevent an Infinite Recursion?

2 visualizzazioni (ultimi 30 giorni)
kamarthi vanitha
kamarthi vanitha il 4 Dic 2018
Risposto: Yap emmanuel il 26 Gen 2019
error is cleared..
  3 Commenti
Jan
Jan il 4 Dic 2018
This line looks strange:
result = bilateralfilter_mex bilateralfilter_mex(I, hwsize, sscale, iscale);
Stephen23
Stephen23 il 4 Dic 2018
@kamarthi vanitha: note that bilateralfilter.m is copyright code. Do you have permission to distribute it publicly?

Accedi per commentare.

Risposte (2)

Image Analyst
Image Analyst il 4 Dic 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 il 26 Gen 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.

Prodotti


Release

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by