Cree una imagen especular con MATLAB

Requisito previo: Representación de imágenes en MATLAB

En MATLAB, las imágenes se almacenan en arrays, en las que cada elemento de la array corresponde a un solo píxel discreto de la imagen. Podemos obtener la imagen especular de la imagen dada si invertimos el orden de los píxeles (elementos de la array) en cada fila.

Original-Mirror-Image

Código n.º 1: uso de la función de biblioteca de MATLAB

% Read the target image file
img = imread('leaf.png');
  
% Reverse the element in each row
mirror_image = flip(img, 2);
  
% Display the mirror image
imshow(mirror_img); 
title('Mirror image');

 
Código n.º 2: uso de la manipulación de arrays

% Read the target image file
img = imread('leaf.png');
  
% Flip the columns left to right
mirror_image = img(:, end :, -1:, 1, :);
  
% Display the mirror image
imshow(mirror_img); 
title('Mirror image');          

 
Código n.º 3: uso de la manipulación de arrays (uso de bucles)

Acercarse:

  • Lea el archivo de imagen de origen en el entorno MATLAB
  • Obtenga las dimensiones de la array de la imagen
  • Invierta el orden de los elementos de cada fila en cada plano de la imagen
  • Mostrar la imagen del espejo

A continuación se muestra la implementación del enfoque anterior:

% Read the target image file
img = imread('leaf.png');
  
% Get the dimensions of the image
[x, y, z] =size(img);
  
  
% Reverse elements of each row
% in every image plane
for plane = 1: z
    for i = 1 : x
        len = y; 
        for j = 1 : y
  
            % To reverse the order of the element
            % of a row we can swap the 
            % leftmost element of the row with
            % its rightmost element  
      
            if j < y/2 
                temp = img(i, j, plane);
                img(i, j, plane) = img(i, len, plane);
                img(i, len, plane) = temp;
                len = len - 1;
            end
        end
    end
end
  
  
% Display the mirror image
imshow(img); 
title('Mirror image');

Imagen de entrada: leaf.png
Leaf

Producción:
Leaf Mirror image

Publicación traducida automáticamente

Artículo escrito por ihritik 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 *