why imerode and imdilate make matlab stopped every time ?

2 次查看(过去 30 天)
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 个评论
Walter Roberson
Walter Roberson 2015-12-8
Does your MATLAB also stop working as soon as you draw any graphics? For example, does plot(3,5) cause problems?
Amith Kamath
Amith Kamath 2015-12-8
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 个评论
alaa adel
alaa adel 2015-12-9
编辑:Walter Roberson 2015-12-10
thank you for your help
this
B= im2bw(i);
solve my problem as not make MATLAB crash
but i don't know the reason
Walter Roberson
Walter Roberson 2015-12-10
This is one of the reasons to avoid using i as a variable name.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 3-D Volumetric Image Processing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by