恢复扭曲的图像

时间:2011-04-10 12:49:43

标签: matlab rgb

我已编写此代码用于扭曲图像,它运行良好但有问题可以恢复运行此相同代码的扭曲图像

pic=imread('pepers.png');
[imr,imc,clr]=size(pic);
img2=pic;

v=66;
for row=1:imr

    for col=1:imc
        for k=1:clr

            img2(row,col,k)=bitxor(pic(row,col,k),v);
            v=img2(row,col,k);
        end
    end
end


imwrite(img2,'pic2.png');
imshow(img2);

1 个答案:

答案 0 :(得分:1)

该方法使用前一个值的编码对每个值进行异或。因此,逆与编码函数不完全相同。您必须将v的分配切换为编码值,因此

img2(row,col,k)=bitxor(pic(row,col,k),v);
v=pic(row,col,k);

用于解码方法。