Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.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_If Statement_Pixel - Fatal编程技术网

Matlab 是否在图像中标记一个像素

Matlab 是否在图像中标记一个像素,matlab,if-statement,pixel,Matlab,If Statement,Pixel,我有一个图像,我已经选择了10个像素,我想把他们的标记 rasterpoints = xlsread('coordinates_sat3.xlsx'); %# 10 pair of coordinates of pixels on my image diff_win_spr %# 10x1 vector with positive and negative values 现在,我想根据diff_win_spr中的单元格值,在我的图像中插入不同类型的标记,可以是正的,也可以是负的 mark

我有一个图像,我已经选择了10个像素,我想把他们的标记

rasterpoints = xlsread('coordinates_sat3.xlsx'); %# 10 pair of coordinates of pixels on my image  

diff_win_spr %# 10x1 vector with positive and negative values
现在,我想根据diff_win_spr中的单元格值,在我的图像中插入不同类型的标记,可以是正的,也可以是负的

marker1 = 'o';
marker2 = '+';

for ii=1:10
    if diff_win_spr(ii)<0;
        for ii=1:10;
        rastermarkers=insertMarker(a,rasterpoints(ii,:),marker1,'size', 10);%%% if diff_win_spr is negative I want marker1 in the rasterpoint position on the image a
        end
    else diff_win_spr(ii)>0;
        for ii=1:10;
        rastermarkers=insertMarker(a,rasterpoints(ii,:),marker2,'size', 10);%%% if diff_win_spr is positive I want marker2 in the rasterpoint position on the image a
        end
    end
end

您可以在每次迭代中覆盖
rastermarkers
,使用相同的未修改图像作为输入。将代码更改为:

marker1 = 'o';
marker2 = '+';

for ii=1:10
    if diff_win_spr(ii)<0;
        a=insertMarker(a,rasterpoints(ii,:),marker1,'size', 10);
    else diff_win_spr(ii)>0;
        a=insertMarker(a,rasterpoints(ii,:),marker2,'size', 10);
    end
end
marker1='o';
marker2='+';
对于ii=1:10
如果差异(ii)为0;
a=插入标记(a,光栅点(ii,:),标记2,'size',10);
结束
结束

您的输出现在是
a

谢谢…这是一个改进,但现在我的输出图像有10个标记1被10个标记2覆盖。你怀疑为什么吗?看起来if条件不起作用。@rochinha44:我看到了第一个错误,并且没有读完您的代码,假设只有一个错误。您有两个嵌套循环,都使用相同的迭代器
ii
。那不可能是对的。我会更新我的答案。
marker1 = 'o';
marker2 = '+';

for ii=1:10
    if diff_win_spr(ii)<0;
        a=insertMarker(a,rasterpoints(ii,:),marker1,'size', 10);
    else diff_win_spr(ii)>0;
        a=insertMarker(a,rasterpoints(ii,:),marker2,'size', 10);
    end
end