快速算法实现左移,同时对RGB图像的每种颜色进行异或

时间:2011-04-05 22:10:35

标签: matlab rgb

我希望通过dec2bin()函数将RGB图像转换为二进制(像素颜色)之后对RGB图像的每一位进行异或。首先,我声明了一个包含所有零的数组scr(8)=0,现在我想要的是,当ar(1)=xor(scr(1),pic(1))完成时,它应该存储在scr(8)=ar(1)scr(7)=scr(8),{{ 1}}等等到最后, 我编写了代码,但需要很多时间来处理。 如果您知道加速代码的方法,请帮助我。我被困在这里并提前做最后的演讲。

这是我的代码:

scr(8)=ar(1)

1 个答案:

答案 0 :(得分:2)

也许我在这里遗漏了一些东西,但你为什么不使用内置BITSHIFT?此外,由于BITXOR适用于uint8,您可以通过

替换您的函数
pic=imread('peppers.png');
pic2 = bitxor(pic,uint8(66)); %# xor with 66
pic2 = bitshift(pic2,1); %# shift to the left by one