使用matlab更改图像颜色

时间:2014-03-04 23:57:35

标签: matlab

我正在使用下面的一段代码。我仍然熟悉软件和代码。
我评论了几行代码。 但我仍然坚持'for'循环部分 基本上我要做的是尝试解释for循环实际上用简单的英语做什么。

for r= 1:nr
    for c= 1:nc
        if ( im(r,c,1)>180 && im(r,c,2)>180 && im(r,c,3)>180 )
            % white feather of the duck; now changing it to yellow
            newIm(r,c,1)= 225;
            newIm(r,c,2)= 225;
            newIm(r,c,3)= 0;
        else  % the rest of the picture; no change
            for p= 1:np
                newIm(r,c,p)= im(r,c,p);
            end
        end
    end
end

imshow(newIm) % displays the image  

如果我要说:

'代码迭代图像im的行,由具有nr行和np列的矩阵表示,其中行索引和列索引颜色红色,绿色和蓝色大于值180 ,将颜色变为白色至黄色;具体行索引和列索引颜色红色和绿色值为255,但蓝色值为0(null),最终结果颜色为黄色'

会没事吗?

else 
   for p= 1:np
         newIm(r,c,p)= im(r,c,p);

但是上面显示的代码的简单解释是什么? 我知道图像没有变化,但我无法解释我的想法。对于p = 1来说,'到底是什么?np'是什么意思? 如果我上面的解释是错误的,您是否还可以在必要时修复并添加信息? 我只想了解它的真正含义。

0 个答案:

没有答案