2011-04-10 103 views
0

我寫了這個代碼扭曲的圖像,它工作得很好,但有問題,以恢復這個扭曲的圖像與之前的編碼再次還原失真的圖像

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

運行相同的代碼的方法XOR的每個值值。因此,逆與編碼函數不完全相同。您必須將v的賦值切換到編碼值,因此

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

用於解碼方法。

+0

非常感謝親愛的, – Farooq 2011-04-10 16:27:04