Está en la página 1de 6

Edson Mairana Claros

Pablo Perez Castellon


Practica 2
Imagen invertida
%% Practica 2
% Operador Inverso o negativo
clear all
%Se realiza la lectura de la imagen
j = imread('imagen2.png');
%Se transforma a escala de grises
I = rgb2gray(j);
%Determinamos el tamaño de la imagen
[f,c] = size(I);
%El ciclo para que recorra las filas
for i = 1:f
%En el ciclo recorre las columnas
for j = 1:c
%Aplicamos la formula q = 255-p
%para invertir la imagen
inv = 255-I;
end
end
% Dividir el layout
subplot(1,2,1);
% Mostrar la imagen
imshow(I);
%Nombrar la imagen
title('Imagen original');
%Dividir el layout
subplot(1,2,2);
%Mostrar la imagen
imshow(inv);
% Nombrar la imagen
title('Imagen invertida');
Se muestra la imagen negativa de la imagen original, los pixeles en color blanco se
vuelven negro y los colores color negro se vuelven blanco

Imagen UMBRAL

Código
I=imread('imagen2.png'); %leemos la imagen normal
whos;
figure(1)
subplot(2,1,1) %asignamos en la primera poscicion la imgen normal
imshow(I); title('imagen normal'); %mostramos la imagen normal

[fil,col]=size(I) %utilizamos la funcion "size" para devolver un vector y creamos la variable


"fil" y "col"

for j=1:fil %hacemos un barrido de la filas


for i=1:col %hacemos un barrido de las columnas
if(I(j,i)>=80) %para operador umbral asignamos un parametro de entrada en este caso 80 y
asignamos en una condicional siempre cuando sea mayor o igual a este valor
I(j,i)=255;% nuestra imagen de salida sera 255 ya que tiene que P debe ser mayor a P1
si se cumple la condicional de arriba entrara a ejecutar esta fila
else
I(j,i)=0; %si los valores que buscamos se encuentran fuera del rando de P1 y P se
cargaran con ceros la salida sera cero
end
end
end

subplot(2,1,2) %asignamos en la 2da pocision la imagen UMBRAL


imshow(I); title('UMBRAL CONVERTIDO'); %mostramos la imagen UMBRAL
Figura

Con doble umbral


%% Practica 2
clear all
%Se realiza la lectura de la imagen
J = imread('imagen2.png');
%Se transforma a escala de grises
I = rgb2gray(J);
%Determinamos el tamano de la imagen
[f,c] = size(I);
%Establecemos el umbral entre 80 y 90
p = 80;
q = 90;
%ciclo para que vaya de fila en fila
for i = 1:f
%ciclo para que vaya de columna en columna
for j = 1:c
%Condicionante que dice que:
%Si el umbral es menor a 80 y mayor a 90
%El valor del pixel sera 255
if(I(i,j)<p | I(i,j)>q)
I(i,j) = 255;
%Condicionante que dice que:
%Si el umbral no es menor a 80 ni mayor a 90
%El valor del pixel sera 0
else
I(i,j) = 0;
end
end
end
% Dividir el layout
subplot(1,2,1);
% Mostrar la imagen
imshow(J);
%Nombrar la imagen
title('Imagen original');
%Dividir el layout
subplot(1,2,2);
%Mostrar la imagen
imshow(I);
% Nombrar la imagen
title('Imagen con umbral');

Con este tipo de practica se pueden resaltar y destacar ciertos rasgos de la imagen del cerebro,
así mismo poder realizar un mejor diagnostico por que la aplicación de esto es delimitar la
parte del cerebro que se quiere visualizar mejor
Con doble umbral invertido
%% Practica 2
% Operador Inverso o negativo
clear all
%Se realiza la lectura de la imagen
J = imread('imagen2.png');
%Se transforma a escala de grises
I = rgb2gray(J);
%Determinamos el tamano de la imagen
[f,c] = size(I);
%Establecemos el umbral entre 80 y 90
p = 80;
q = 90;
%ciclo para que vaya de fila en fila
for i = 1:f
%ciclo para que vaya de columna en columna
for j = 1:c
%Condicionante que dice que:
%Si el umbral es menor a 80 y mayor a 90
%El valor del pixel sera 255
if(I(i,j)<p | I(i,j)>q)
I(i,j) = 255-I(i,j);
%Condicionante que dice que:
%Si el umbral no es menor a 80 ni mayor a 90
%El valor del pixel se invertira
else
I(i,j) = I(i,j)-255;
end
end
end
% Dividir el layout
subplot(1,2,1);
% Mostrar la imagen
imshow(J);
%Nombrar la imagen
title('Imagen original');
%Dividir el layout
subplot(1,2,2);
%Mostrar la imagen
imshow(I);
% Nombrar la imagen
title('Imagen con umbral');
%%%

También podría gustarte