can i get the matlab code for scrambling a digital image based on arnold transformations??

clc;
clear all;
close all;
A = imread('cameraman.tif');
imshow(A);
N=256;
T=1.4938*N+40.8689;
disp(T);
t=0;
T2=ceil(T);
disp(T2);
c=[T];
iscram=A;
while t<T2
for i=[0:N-1]
for j=[0:N-1]
iscram(i,j)=iscram(mod(i+j,N),mod(i+(2*j),N));
end
end
t=t+1;
end
figure,imshow(imscram);

4 Comments

I tried your code but its seems like its not working. Its giving error of "Attempted to access iscram(0,0); index must be a positive integer or logical.
Error in ==> iscram(i,j)=iscram(mod(i+j,N),mod(i+(2*j),N)); "
how can i solve this error ??
hey! do you have the matlab code for image scrambling and unscrambling using arnold cat map? i am working on colored images.
@mamoona, yes I do. Did you look at my answer below? The code is attached.

Sign in to comment.

 Accepted Answer

I don't really know what this code is doing or if I'm even doing it correctly, but here's a version of the code that "works": [OLD CODE DELETED]
[EDIT] - See vastly improved working code in my comment further down, and also attached here.

16 Comments

hello sir, can u please explain me what is arnold transformation?
google: Arnold Transform Based Image Scrambling Method
can you please send code for obtaining original image from scrambled image?
Here's one, attached, but it's very simple - not the "Arnold Transform" one.
how can i apply inverse arnold transform on transformed image?? any matlab code?????
how can i obtain original gray image from scrambled gray image?
the code given above is only for square image right?? But i'm getting output for 135*298 image also...
I redid that code I posted, now that I understand it a little more, and a "fixed" version is attached. From Wikipedia, it seems that the code only works on square images. I tried to generalize it for rectangular images and always got the image wrapped around vertically. It never reconstituted itself. So maybe you'll have to use other scrambling methods.
Good day sir!!! Please sir i tried modifying the attached code above to read in two images that is the Original image and the Key image in the case of encryption then the scrambling and unscrambling procedures to get back the original image using Arnold's cat map but i keep getting errors. Please i need further help on it. Thanks for always being there for us.
Hi,
inverse of matrix[1 1;1 2]--> [2 -1; -1 1] doesnot work for inverse arnold
is there any code for inverse arnold transform
I don't think directly. The only way I know of is to repeatedly do the transform over and over again until you get the original image back. Why do you want to use this cat transform anyway?
if u have code for dwt for watermarking then please help
This code is working only those images which are in image toolbox but if we put an image like LEENA or Baboon it shows an error that N which is N> maxallowablesize is unrecognized variable. Anybody can help me bcz we have to test our encryption result on Baboon, Leena, Camerman because they are general image. So please help me what do I change in my code after sending Lena's picture to that Image toolboox folder.
@Vivek You forgot to attach your image! Probably because you've never see posting guidelines:
I'll check back later for your image that the code throws an error for.

Sign in to comment.

More Answers (1)

I am doing a project on Image watermarking using Discrete Wavelet Transform(DWT) and Encryption. It is carried out in the following steps 1.) Select the host image( Image in which watermark will be hided). 2.) Select the watermark. 3.) Encrypt the watermark using the following code as given by sir(Image analyst) 4.) Watermarking using DWT.
5.) Recover the Encrypted watermark using recovery formula.
6.) Decryption of watermark using the following code which is also attached. This is also given by Image Analyst
My Question is that I have made many attacks on Watermarked Image like Rotation, Scaling, Croping but PSNR and MSE between (Watermark and Decrypted watermark) after and before attack remain Infinity and Zero respectively.
I think During Decryption, I have used same ran permutation that I used to ENCRYPT the image. So I think, Attacks have no effect on decrypted image.
Question is how to improve my code or what suggestions you can give me.
I need Help. Though, I am trying but yr valuable suggestions can make code more effective and fast
Thanks............

7 Comments

What does this have to do with the original topic of scrambling via Arnold Transform???? How is this an answer to that????
#Here are the Attached files to make my above question more understandable
<<
>> #Even after these croping/noise attacks there comes no difference between watermark image and decrypted image???????????
How does this answer sumaya's question at the top of this page?????
Manpreet you need to move your material here into a new Question. It is out of place here and probably no-one will even read it carefully until you create a new Question for it.
manpreet , could u please help me ..i m having a same problem with using RSA in watermarking.
Discussion of RSA or any other non-trivial encryption is not permitted here due to the laws of the USA.
Any body having dwt code for watermarking please help

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!