这里有很多事情错了,没有一个应该导致一个图像显示多次……至少不是我注意到。
我= imread (“peppers.png”);%这可能是uint8, RGB
[a, b] =大小(我);%的RGB图像,b是错误的
新= 0(大小(i));%这个数组的类是“双”
%你正在编写一个脚本编程做点什么
%为什么强迫你的脚本停下来问你多次
%的数量你可以写成一个参数吗?
n = 128;%的输入(输入阈值的关键);
%这整个循环是不必要的
为x = 1:% x和y是倒退
为y = 1: b
如果我(x, y) < = n
新(x, y) = 0;
其他的
%你分配输出规模相反
%类预先分配的数组。输出图像
%将成为它的类比例不当,虽然
%总值截断不会间接在这种情况下。
新(x, y) = 255;
结束
结束
结束
imshow(新);
[b]% 384 x512图像
如果你请求N输出大小(),第N个输出参数不是N维度的大小。的产品的大小n维度和更高的维度。令人惊讶的是,b是错的这一事实并不导致索引错误,虽然我不知道这将是很好的实践依靠这样的技巧。
这整件事可以简化。
inpict = imread (“peppers.png”);%阅读任何图像
阈值= 128;%阈值作为一个简单的参数
掩码= inpict >阈值;%,这是一个逻辑的形象
掩码= im2uint8(面具);%现在uint8形象
imshow(面具);