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

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.

댓글을 달려면 로그인하십시오.

 채택된 답변

Amith Kamath
Amith Kamath 2015년 12월 8일
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

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.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 MATLAB에 대해 자세히 알아보기

질문:

2015년 12월 8일

댓글:

2015년 12월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by