What is number of iterations deciding factor in the following code?
    5 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Veera Kalyani S
 el 30 de Dic. de 2016
  
    
    
    
    
    Comentada: Ammy
 el 31 de En. de 2021
            clc;
clearvars;
close all;
workspace;
fontSize = 33;
grayImage = imread('cameraman.tif');
subplot(1,2,1);
imshow(grayImage);
[rows, columns, numberOfColorChannels] = size(grayImage);
N=rows;
T=1.4938*N+40.8689;
disp(T);
t=0;
T2=ceil(T);
disp(T2);
c = T
iscram= grayImage;
while t<T2
  for i= 1 : rows
    for j= 1 : columns
      r = mod(i+j,N)+1;
      c = mod(i+(2*j)+1,N)+1;
      imscram(i,j)=iscram(r,c);
    end
  end
  t=t+1;
  fprintf('t = %f, T2 = %f\n', t, T2);
end
subplot(1,2,2);
imshow(imscram);
(1) why should we use linear approximation of arnolds cat map, T=1.4938N+40.8689?
(2) which denotes the number of iterations in the above code?
(3) Even if i change t<700 or t<4, the output i got is the same..and also there is no change/improvement in NPCR and UACI value...
0 comentarios
Respuesta aceptada
  Walter Roberson
      
      
 el 30 de Dic. de 2016
        After your fprintf() you need to add
iscram = imscram;
Otherwise you are just repeating the same work over and over again instead of doing multiple iterations of the transform.
Más respuestas (1)
  Image Analyst
      
      
 el 30 de Dic. de 2016
        That code is from someone else's post and it's wrong. I redid that code and a "fixed" version is attached. I don't use that T number he computed. It doesn't seem needed at all.
From Wikipedia, it seems that the code only works on square images. I tried to generalize it for rectangular images and always got the image wrapped around vertically. It never reconstituted itself. So maybe you'll have to use other scrambling methods.

5 comentarios
  Image Analyst
      
      
 el 30 de En. de 2021
				Make sure the imwrite() is not commented out like I had it in the demo:
	% Save the image, if desired.
	filename = sprintf('Arnold Cat Iteration %d.png', iteration);
% 	imwrite(currentScrambledImage, filename);  % Uncomment this if you want to save the images.
	fprintf('Saved image file %s to disk.\n', filename);
So take away the % and you should see Arnold Cat Iteration 67.png
Ver también
Categorías
				Más información sobre Convert Image Type en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



