why imerode and imdilate make matlab stopped every time ?

after write imerode function
i=imread('\cameraman.jpg');
B=im2bw(1,0.3);
K3=ones(3);
K5=ones(5);
K7=ones(7);
K9=ones(9);
B3=imerode(B,K3);
B5=imerode(B,K5);
B7=imerode(B,K7);
B9=imerode(B,K9);
imshow(B)
figure, imshow(B3), title('by 3');
figure, imshow(B5), title('by 5');
figure, imshow(B7), title('by 7');
figure, imshow(B9), title('by 9');
matlab stop and popup msg with matlab must be debug ?
what can i do ?
function imdilate show msg matlab has encountered an internal problem and need to close .
so how solve this problem ?

2 commentaires

Does your MATLAB also stop working as soon as you draw any graphics? For example, does plot(3,5) cause problems?
FYI: The crash can be observed by doing this:
imerode(true, ones(3,3));
There is no crash observed for other strel sizes.

Connectez-vous pour commenter.

 Réponse acceptée

Alaa:
You've probably found a bug in imerode. However, I believe you really meant to do this instead:
B = im2bw(i, 0.3); % in this case, B is indeed the 256x256 matrix.
rather than
B = im2bw(1,0.3); % in this case, B is a scalar logical value of 1.
Doing so will not make MATLAB crash, but provide you the results you were originally looking for.
Hope this helps!

2 commentaires

alaa adel
alaa adel le 9 Déc 2015
Modifié(e) : Walter Roberson le 10 Déc 2015
thank you for your help
this
B= im2bw(i);
solve my problem as not make MATLAB crash
but i don't know the reason
This is one of the reasons to avoid using i as a variable name.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by