error when I execute RGB scrambling

1 Ansicht (letzte 30 Tage)
A.Mariya Jomet
A.Mariya Jomet am 22 Sep. 2018
Kommentiert: Image Analyst am 28 Jul. 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?

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 22 Sep. 2018
MATLAB subscript start at 1 not 0
  5 Kommentare
rousol makki
rousol makki am 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 am 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Image Analyst
Image Analyst am 22 Sep. 2018
That looks like it's Arnold's cat map. See my Arnold's cat map demo, attached.
  6 Kommentare
Image Analyst
Image Analyst am 24 Sep. 2018
Bearbeitet: Image Analyst am 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 am 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.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by