Voltear imagen a través de la diagonal secundaria en MATLAB

El objetivo es voltear una imagen coloreada en MATLAB a lo largo de una diagonal secundaria sin usar funciones integradas para rotar. Una imagen coloreada se puede representar como una array de 3 orden. El primer orden es para las filas, el segundo orden es para las columnas y el tercer orden es para las capas, el valor del píxel determinará el color del píxel en función del formato de color.

El enfoque es muy simple. Nos dan una imagen coloreada. Tenemos que separar cada capa. Voltea cada capa de arriba hacia abajo y luego voltea cada capa de derecha a izquierda. Tome la transposición de la imagen.

A continuación se muestra la implementación:

% MATLAB code to flip a colored image
% across secondary diagonal.
  
% Read a colored image
I=imread('image.jpg');
figure, imshow(uint8(I));
  
% Initilase an image 
I2 = [];
  
%iterate each layer
for k = 1:3
    Im = I(:, :, k);
  
    %Flip every layer up to down.
    Im1 = Im(end:-1:1, :); 
  
    %Flip every layer right to left.
    Im2 = Im1(:, end:-1:1); 
  
    %Take transpose of the image.
    Im3 = Im2'; 
    I2(:, :, k)=Im3;
end
  
% Show the image.
figure, imshow(uint8(I2));

Imagen de entrada:

Producción :

Publicación traducida automáticamente

Artículo escrito por anamika9988 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *