MATLAB 时不时出现的小错误
03/07/2019
写迭代法求阈值时,稍微改了一下代码,对rgb分开求每个通道的阈值
出现一点问题
tktmp=uint8((z1+z2)/2);
if abs(tktmp-tk)<=10
bcal=0;
else
tk=tktmp;
end
这里的 if在tktmp=145,tk=191(uint8)时不能进入bcal=0
在直接求灰度图的时候没有出现这个问题
单步调试,发现 q=abs(tktmp-tk)=0,但是此时
试着 tktmp=uint8((z1+z2)/2) 去掉了uint8,tk一开始赋值也赋的double,相当于tktmp和tk都是double型,
然后没有问题了。
可能是因为两个数类型不同,但是uint8类型相减也报错,
很奇怪为什么会出现这种情况。