Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
matlab中的值识别与替换_Matlab - Fatal编程技术网

matlab中的值识别与替换

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”循环,以便用一个值替换一系列值,并保持矩阵的其余部分不变

我用了这个密码

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),查找(MyImageVariable
myimage
是一个值矩阵,您在这里所做的是将其视为标量。您的比较表达式和赋值语句并没有达到您期望的效果。相反,您希望找到某些元素的索引,并仅对其进行更改。您应该阅读更多关于t这里。我需要在图像中循环,然后执行类似myimage(X,Y)<20的操作?是的,这是一个很好的开始。对于您的情况,请考虑以下内容:
20*floor(myimage/20);
,它可以一次处理整个图像。正如上面@EitanT的评论所示,在索引中调用
find
是多余的。在两个同时出现的情况下,例如myimage>20和myimage类似
myimage(20)的情况下,正确的调用是什么