error when I execute RGB scrambling

1 vue (au cours des 30 derniers jours)
A.Mariya Jomet
A.Mariya Jomet le 22 Sep 2018
Commenté : Image Analyst le 28 Juil 2019
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?

Réponse acceptée

Walter Roberson
Walter Roberson le 22 Sep 2018
MATLAB subscript start at 1 not 0
  5 commentaires
rousol makki
rousol makki le 27 Juil 2019
mrs mariya can you give me the code of this code please .... i realy need it in my project
Image Analyst
Image Analyst le 28 Juil 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.

Connectez-vous pour commenter.

Plus de réponses (1)

Image Analyst
Image Analyst le 22 Sep 2018
That looks like it's Arnold's cat map. See my Arnold's cat map demo, attached.
  6 commentaires
Image Analyst
Image Analyst le 24 Sep 2018
Modifié(e) : Image Analyst le 28 Juil 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 le 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.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by