2011-04-10 3 views
0

j'ai écrit ce code pour déformer une image, il fonctionne bien, mais avoir des problèmes pour restaurer cette image déformée d'exécuter ce même codeRestore image déformée

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); 

Répondre

1

La méthode XOR chaque valeur avec le codage de la précédente valeur. Ainsi, l'inverse n'est pas exactement le même que la fonction de codage. Vous devez changer l'affectation de v à la valeur codée, ainsi

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

pour la méthode de décodage.

+0

Merci beaucoup, – Farooq