Borrar filtros
Borrar filtros

How to scramble an image using Gyrator transform? matlab code?

18 visualizaciones (últimos 30 días)
Aberna P
Aberna P el 10 de En. de 2023
Comentada: Aberna P el 21 de Abr. de 2023
Need to scramble the image using gyrator trnasform? Is their any tool for that?

Respuesta aceptada

Nayan
Nayan el 5 de Abr. de 2023
Hi
Though the gyrator transform is not directly available in MATLAB. You could use the FFT and permutation matrix.
Find the attached code to scramble an Image using the Gyrator transform.
Hope this helps!
% Read the input image
img = imread('1680714900716.jpg');
% Convert the input image to grayscale
if size(img, 3) == 3
img = rgb2gray(img);
end
% Generate a random permutation matrix
N = size(img, 1);
P = eye(N);
ind = randperm(N);
P = P(ind,:);
% Compute the Fourier transform of the input image
F = fft2(img);
% Compute the gyrator transform matrix
G = diag(exp(2*pi*1i*(0:N-1)/N));
G = P*G*P';
% Apply the gyrator transform to the Fourier coefficients of the input image
F_scrambled = G*F*G';
% Compute the inverse Fourier transform of the scrambled Fourier coefficients
img_scrambled = ifft2(F_scrambled);
% Display the input and scrambled images
figure;
subplot(1, 2, 1); imshow(img); title('Input image');
subplot(1, 2, 2); imshow(abs(img_scrambled),[]); title('Scrambled image');
  2 comentarios
lse owen
lse owen el 11 de Abr. de 2023
Thanks! Is there any way to calculate the permutation matrix according to the rotation angle?
Aberna P
Aberna P el 21 de Abr. de 2023
Thank you so much nayan...how to perform inverse process of it?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Image Data Workflows 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!

Translated by