MATLAB Answers


error when I execute RGB scrambling

Asked by A.Mariya Jomet on 22 Sep 2018
Latest activity Commented on by Image Analyst
on 28 Jul 2019 at 1:46
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;
while t<T2
for i=[0:N-1]
for j=[0:N-1]
How do I solve this. Can anyone help me?


Sign in to comment.

2 Answers

Answer by Walter Roberson
on 22 Sep 2018
 Accepted Answer

MATLAB subscript start at 1 not 0


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.
rousol makki on 27 Jul 2019 at 8:07
mrs mariya can you give me the code of this code please .... i realy need it in my project
Image Analyst
on 28 Jul 2019 at 1:46
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.

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.


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.