matlab中的值识别与替换
所以我有一个灰度图像作为二进制文件。在我在图像中输入红色后,我尝试创建一系列“if”循环,以便用一个值替换一系列值,并保持矩阵的其余部分不变 我用了这个密码matlab中的值识别与替换,matlab,Matlab,所以我有一个灰度图像作为二进制文件。在我在图像中输入红色后,我尝试创建一系列“if”循环,以便用一个值替换一系列值,并保持矩阵的其余部分不变 我用了这个密码 if myimage < 20 myimage = 0; else if 20 < myimage <40 myimage = 20; else if 40 < myimage < 60 myimage = 40; else if 60&
if myimage < 20
myimage = 0;
else if 20 < myimage <40
myimage = 20;
else if 40 < myimage < 60
myimage = 40;
else if 60<myimage<80
myimage = 60;
end
end
end
end
如果myimage<20
myimage=0;
否则,如果20
find(myimage==20)
为了找到并用一条直线替换所有值,请参考myimage中的感兴趣索引:
myimage(查找(myimage20和20),查找(MyImageVariablemyimage
是一个值矩阵,您在这里所做的是将其视为标量。您的比较表达式和赋值语句并没有达到您期望的效果。相反,您希望找到某些元素的索引,并仅对其进行更改。您应该阅读更多关于t这里。我需要在图像中循环,然后执行类似myimage(X,Y)<20的操作?是的,这是一个很好的开始。对于您的情况,请考虑以下内容:20*floor(myimage/20);
,它可以一次处理整个图像。正如上面@EitanT的评论所示,在索引中调用find
是多余的。在两个同时出现的情况下,例如myimage>20和myimage类似myimage(20)的情况下,正确的调用是什么