MATLAB: Why imerode and imdilate make matlab stopped every time

image processing

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 ?

Best Answer

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!