PUBLICIDAD


Operaciones lógicas con imágenes - Visión artificial


Introducción

Cuando trabajamos con sistemas de visión, habrá ocasiones en que necesitaremos realizar operaciones lógicas con imágenes, en este artículo les mostraremos cómo realizar las operaciones AND, OR, XOR y NOT con imágenes utilizando el software MATLAB.

Marco teórico

Además de las operaciones aritméticas, otras de las operaciones puntuales que se pueden realizar en imágenes son las “Operaciones lógicas”. Las principales operaciones lógicas utilizadas en el procesamiento de imágenes son: AND, OR, NOT y XOR, las cuales se aplican solo a imágenes binarias, es decir, compuestas de 1 y 0, imágenes blanco y negro. La imagen resultante de una operación lógica es la relación de unos y ceros pixel por pixel entre dos imágenes. Por ejemplo, si tenemos dos imágenes de 4 pixeles, con los siguientes valores de pixeles, y se les aplica la operación AND, se mostraría de la siguiente manera:

Operaciones lógicas con imágenes - 1

Recordando que la tabla de verdad para una operación AND es la siguiente:

Operaciones lógicas con imágenes - 2

Si queremos aplicarle una operación lógica a una imagen, primero debemos transformarla a binario (Blanco y negro). Para realizar esto, la sintaxis en MATLAB es la siguiente:

Código:

Imagen_resultado = im2bw(Imagen1); 

Operación OR en imágenes

La sintaxis para aplicar la operación OR utilizando dos imágenes es la siguiente:

Código:

Imagen_resultado = or(Imagen1,Imagen2); 

Operación XOR en imágenes

La sintaxis para aplicar la operación XOR utilizando dos imágenes es la siguiente:

Código:

Imagen_resultado = xor(Imagen1,Imagen2); 

Operación AND en imágenes

La sintaxis para aplicar la operación AND utilizando dos imágenes es la siguiente:

Código:

Imagen_resultado = and(Imagen1,Imagen2); 

Operación NOT en imágenes

La sintaxis para aplicar la operación NOT a una imagen es la siguiente:

Código:

Imagen_resultado = not(Imagen1); 


Publicidad


Ejercicio

Aplicar distintas operaciones lógicas (OR, XOR, AND, NOT) a una serie de imágenes.

Diagrama de flujo

Operaciones lógicas con imágenes - 3

Código

Código:

clear all;
close all;
clc;
 
I=imread('cameraman.tif'); %Leemos y guardamos la imagen 1
J=im2bw(I); %Convertimos la imagen 1 a blanco y negro
Y=imread('rice.png');%Leemos y guardamos la imagen 2
R=im2bw(Y); %Convertimos la imagen 2 a escala de grises
 
%Operación NOT a ambas imagenes
NJ=not(J);
NR=not(R);
 
%Operación AND
A=and(R,J);
 
%Operación OR
O=or(R,J); 
 
%Operación XOR
X=xor(R,J); 
 
%Mostramos los resultados
subplot(3,3,1), imshow(I), title('Cameraman');
subplot(3,3,2), imshow(J), title('Cameraman BW');
subplot(3,3,3), imshow(NJ), title('Cameraman BW NOT');
subplot(3,3,4), imshow(Y), title('Rice');
subplot(3,3,5), imshow(R), title('Rice BW');
subplot(3,3,6), imshow(NR), title('Rice BW NOT');
subplot(3,3,7), imshow(A), title('Cameraman BW Rice BW AND');
subplot(3,3,8), imshow(O), title('Cameraman BW Rice BW OR');
subplot(3,3,9), imshow(X), title('Cameraman BW Rice BW XOR');

Resultados

Operaciones lógicas con imágenes - 4

Conclusión

Las operaciones lógicas también pueden realizarse en imágenes, habrá proyectos de sistemas de visión que nos obligarán a utilizarlas para resolver un problema, y en este artículo les enseñamos cómo realizar estas operaciones lógicas en imágenes utilizando el software “MATLAB”.






Agregar comentario
1500
¿Cual es el siguiente número: 2,4,6, ..?
Comentarios
(0)
No hay comentarios todavía ¡Sé el primero en comentar!

©2017-2020 Solución Ingenieril. Todos los derechos reservados