MATLAB Answers

0

error when I execute RGB scrambling

Asked by A.Mariya Jomet on 22 Sep 2018
Latest activity Commented on by A.Mariya Jomet on 25 Sep 2018
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?

  0 Comments

Sign in to comment.

2 Answers

Answer by Walter Roberson
on 22 Sep 2018
 Accepted Answer

MATLAB subscript start at 1 not 0

  3 Comments

then do I need to edit as i=(1:N) and j=(1:N)
Yes. You might need to adjust your mod() calculation.
Thank you so much. I did some adjustments in the mod calculation and got the results as per the requirement. Thank you for your suggestions.

Sign in to comment.


Answer by 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

it's ok sir, thank you so much for your kind replay and valuable suggestion.
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.
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.