Arnolds cat map like scrambling
Mostrar comentarios más antiguos
Hello to everybody!
Does anyone know how can you use any dynamical system to scramble an image just like you would do with arnolds cat map?
For example how would you do it for the standard map:


2 comentarios
Image Analyst
el 31 de Oct. de 2021
I've posted my Arnolds cat map here before, which you've probably found. For your formula, I'm not sure what p, K, and theta represent. Do you have an image with 2-dimensions? Your formulas here seem to refer to 1-D signals.
george korris
el 31 de Oct. de 2021
Respuesta aceptada
Más respuestas (4)
Image Analyst
el 31 de Oct. de 2021
1 voto
@george korris I don't really know since chaos is not my field. I know that some of the mini-hack image entries are using chaos so you might check out the code there:
1 comentario
george korris
el 1 de Nov. de 2021
sir,may be use some logistics or chaos to generate some location change
5 comentarios
Image Analyst
el 1 de Nov. de 2021
Does this use the formula he gave? Where is the call to sin()?
george korris
el 1 de Nov. de 2021
yanqi liu
el 1 de Nov. de 2021
sir,yes,it is a normal arnolds process,use in watermark application
Image Analyst
el 1 de Nov. de 2021
OK, but do you have anything that does the chaos thing with the sin() function like he asked in the original post?
george korris
el 3 de Nov. de 2021
Image Analyst
el 2 de Nov. de 2021
George, try this:
% Demo by Image Analyst.
clc; % Clear the command window.
close all; % Close all figures (except those of imtool.)
clearvars;
workspace; % Make sure the workspace panel is showing.
format long g;
format compact;
fontSize = 16;
numberOfIterations = 1200;
K = 1.3;
p = ones(numberOfIterations, 1);
theta = zeros(numberOfIterations, 1);
plotColors = jet(numberOfIterations);
for n = 1 : numberOfIterations-1
% Compute new p according to the formula.
p(n+1) = p(n) + K * sin(theta(n));
% Compute new theta according to the formula.
theta(n+1) = theta(n) + p(n+1);
% Make them mod 2 * pi
p(n+1) = mod(p(n+1), 2*pi);
theta(n+1) = mod(theta(n+1), 2*pi);
% Plot it
plot([p(n), p(n+1)], [theta(n), theta(n+1)], '-', 'Color',plotColors(n, :));
hold on;
end
% Plot it.
% plot(theta, p, 'b-');
grid on;
title('Complete Chaos!', 'FontSize', fontSize);
ylabel('p', 'FontSize', fontSize);
xlabel('theta', 'FontSize', fontSize);
xticks(0 : pi/4 : 2*pi)
xlim([0, 2*pi])
ylim([0, 2*pi])

5 comentarios
yanqi liu
el 2 de Nov. de 2021
sir, its great, but may be make an inverse transfer
Image Analyst
el 2 de Nov. de 2021
@yanqi liu, I don't know what that means. I'm not an expert in chaos. I merely implemented the formula @george korris gave. I'm not even sure I did it correctly and don't know what an "inverse transfer" is or means in this situation.
george korris
el 3 de Nov. de 2021
Image Analyst
el 3 de Nov. de 2021
@george korris do you mean you want to burn those lines into a digital image instead of being lines on a graph? If so, I'd need more info, like what resolution of image do you want. Do you want the lines to be colored? If so, how? And how many lines should be drawn etc. Just imagine I asked you to do it. What questions would you have for me? Well I have the same questions for you.
george korris
el 3 de Nov. de 2021
5 comentarios
george korris
el 4 de Nov. de 2021
Editada: Image Analyst
el 5 de Nov. de 2021
yanqi liu
el 5 de Nov. de 2021
yes,sir,this is a demo for logistics chaos,just for watermark application
Image Analyst
el 5 de Nov. de 2021
The code does not run.
>> test
Unrecognized function or variable 'num'.
Error in test5 (line 9)
for i=1 : num+1e3
Plus I don't see any image being read in and watermarked and shown.
% like
yanqi liu
el 6 de Nov. de 2021
i use it in watermark、encrypt、compress,so it must can transfer and inverse transfer
Categorías
Más información sobre Nearest Neighbors en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!