error when I execute RGB scrambling

1 view (last 30 days)
I want to do RGB scrambling as part of image cryptography. While executing a code, I got an error message
"Subscript indices must either be real positive integers or logicals".
The code is given below;
iscram=cipher;
N=256;
T=1.4938*N+40.8689;
disp(T);
t=0;
T2=ceil(T);
disp(T2);
c=[T];
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
How do I solve this. Can anyone help me?

Accepted Answer

Walter Roberson
Walter Roberson on 22 Sep 2018
MATLAB subscript start at 1 not 0
  5 Comments
rousol makki
rousol makki on 27 Jul 2019
mrs mariya can you give me the code of this code please .... i realy need it in my project
Image Analyst
Image Analyst on 28 Jul 2019
Like I said, it's Arnold's cat map and I gave code in my answer below. I've also attached it here. You can probably use that. It's been a while since she logged in so she may not answer you.

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 22 Sep 2018
That looks like it's Arnold's cat map. See my Arnold's cat map demo, attached.
  6 Comments
Image Analyst
Image Analyst on 24 Sep 2018
Edited: Image Analyst on 28 Jul 2019
The Arnold's cat map is a way of scrambling, not encrypting, the image. I'm not changing the values really, just rearranging them. The original values are all still there. If you repeatedly run my cat map demo on the output, eventually the original RGB image will be recovered. So it's cyclic, periodic. After each iteration, you should get a scrambled image. Eventually you will see the original image displayed. Not sure what you meant by not getting any results - it should show a series of images - one at each iteration - like below.
For the toysflash.png demo image, you'll see in the command window:
Back to Original after 68 Iterations.
Elapsed time = 8.3 seconds.
A.Mariya Jomet
A.Mariya Jomet on 25 Sep 2018
I got results by executing the code that you provided.But that wasn't exactly what I required. I did some adjustments in the mod() calculation part, by using the conditions provided in your code,and I got desired output. Thank you so much for your suggestions.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!