You are on page 1of 14

Rompecabezas de imagen

en Matlab

Redes Neuronales
M.C. Ricardo Venegas
Guzmn
6 Sem. Ing. Mecatrnica

Introduccin
El mundo en el que estamos y vivimos se rige muchas
veces por los sentidos, por lo cual, para que las
personas les llame la atencin la tecnologa, o
cualquier cosa se necesita que tu producto o servicio
tenga
cosas
llamativas.
Es
ah
donde
el
manipulamiento de las imgenes es un tema muy
bueno para aprender, ya que nos ayuda a hacer
mucho ms atractivos nuestros productos y adems
es una de las reas de la tecnologa que ms se puede
explotar.
Los videojuegos, las aplicaciones, las computadoras,
cmaras fotogrficas, programas de diseo, etc. Todas
estas cosas son manipuladoras de imgenes en
diferentes sentidos.
Matlab es un complemento esencial e indispensable al
momento de querer aprender sobre la manipulacin
de las imgenes desde lo bsico; su conformacin,
tamao, pixelaje, etc., adems es de muy fcil su
utilizacin si tienes conocimientos bsicos de
programacin en cualquier lenguaje. Su formato de
cada funcin es muy fcil de entender y escribir,
adems que es muy fcil de usar ya que como todo
est basado en matrices, Matlab a diferencia de otros
programas, no es necesario que ests declarando
cada matriz y tamao, y puedes hacer todo tipo de
operaciones con matrices sin ningn problema y de
una manera ms rpida que en otro tipos de
programas.
Este programa nos mostrar cmo podemos
manipular partes de una imagen y cambiarla de

posicin y mantener propiedades de color o textura.


Es el principio de una animacin.

Marco terico
Matlab
almacena
las
imgenes
como
vectores
bidimensionales (matrices), en el que cada elemento de la
matriz corresponde a un slo pixel.
Leer y escribir imgenes;
Para leer una imagen en Matlab: imread(nombrefichero)
im = imread(foto.tif);
Para escribir (guardar) una matriz en fichero: imwrite(var,
nombrefichero)
imwrite(im,foto.tif);
Visualizar una imagen
Para visualizar una imagen: imshow(imagen_var);
Para que se cree
imshow(imagen_var);

una

nueva

figura:

figure;

Permite ver los valores de cada uno de los pixeles en la


imagen:
figure; imshow(imagen_var);pixval on;
Para trabajar computacionalmente con una imagen hay que interpretarla
como una funcin matemtica. Algunas caractersticas de una imagen
guardada de una computadora es que tiene una cantidad infinitas de
puntos, es una interpretacin de una imagen original que debera
formarse por una cantidad infinita (o mucha ms grande) de puntos.

Cada punto de la imagen esta indexado a traves de valores naturales x;


y que referencian a las coordenadas x e y del plano. A su vez cada punto
puede contener mas de un canal asociado a una frecuencia o energa
que son capaces de reflejar".
Imgenes
Una Imagen normalizada es una funcin
I : N2+1 ! [0; 1]
Cada dupla de naturales x; y : N2 se la conoce como pixel. Y cada valor
I(x; y; c) es la intensidad asociada al pixel (x; y) del canal c.

Desarrollo
clc
clear all
close all

L1 = imread('C:/1896921_10202001157070858_7126688716453304538_2n.jpg');
L=L1;
[r,c,p]=size(L);
imshow(L)
pause(1);
for a=1:round(r/2)
for b=round(c/2):c
L(a,b,3)=0;
L(a,b,2)=0;
end
end
for a=round(r/2):r
for b=round(c/2):c
L(a,b,3)=0;
L(a,b,1)=0;
end
end
for a=round(r/2):r
for b=1:round(c/2)
L(a,b,1)=0;
L(a,b,2)=0;
end
end
for a=1:round(r/2)
for b=(c/2)-1:(c/2)+1
L(a,b,1)=255;
L(a,b,2)=255;
end
end
for a=round((r/2))-1:round((r/2))+1
for b=round(c/2):c
L(a,b,2)=255;
L(a,b,1)=255;
end
end
for a=1:round(r/2)
for b=c-2:c
L(a,b,1)=255;
L(a,b,2)=255;
end
end
for a=round((r/2))+1:r
for b=round((c/2))-1:round((c/2))+1
L(a,b,3)=255;
L(a,b,1)=255;
end
end
for a=r-2:r
for b=round((c/2)):c
L(a,b,3)=255;
L(a,b,1)=255;
end
end
for a=round((r/2))+1:r
for b=c-2:c

end

L(a,b,3)=255;
L(a,b,1)=255;

end
for a=round((r/2))-1:round((r/2))+1
for b=1:round((c/2))-1
L(a,b,3)=255;
L(a,b,2)=255;
end
end
for a=round((r/2)):r
for b=1:3
L(a,b,3)=255;
L(a,b,2)=255;
end
end
for a=r-2:r
for b=1:round((c/2))-1
L(a,b,3)=255;
L(a,b,2)=255;
end
end
imshow(L)
pause(1)

for X=1:32
L = imread('C:/1896921_10202001157070858_7126688716453304538_2n.jpg');
[r,c,p]=size(L);
for J=1:X
Qsi = L(1:round(465/2),1:240,:);
Qid = L(round(465/2):465,241:480,:);
Qii=L(round(465/2):465,1:240,:);
Qsd=L(1:round(465/2),241:480,:);
L(1:round(465/2),1:240,:)=Qii;
L(round(465/2):465,1:240,:)=Qsi;
L(round(465/2):465,1:240,:)=Qid;
L(round(465/2):465,241:480,:)=Qsi;
L(round(465/2):465,241:480,:)=Qsd;
L(1:round(465/2),241:480,:)=Qsi;
end
for a=1:round(r/2)
for b=round(c/2):c
L(a,b,3)=0;
L(a,b,2)=0;
end
end
for a=round(r/2):r
for b=round(c/2):c
L(a,b,3)=0;
L(a,b,1)=0;
end
end
for a=round(r/2):r

end

for b=1:round(c/2)
L(a,b,1)=0;
L(a,b,2)=0;
end

for a=1:round(r/2)
for b=(c/2)-1:(c/2)+1
L(a,b,1)=255;
L(a,b,2)=255;
end
end
for a=round((r/2))-1:round((r/2))+1
for b=round(c/2):c
L(a,b,2)=255;
L(a,b,1)=255;
end
end
for a=1:round(r/2)
for b=c-2:c
L(a,b,1)=255;
L(a,b,2)=255;
end
end
for a=round((r/2))+1:r
for b=round((c/2))-1:round((c/2))+1
L(a,b,3)=255;
L(a,b,1)=255;
end
end
for a=r-2:r
for b=round((c/2)):c
L(a,b,3)=255;
L(a,b,1)=255;
end
end
for a=round((r/2))+1:r
for b=c-2:c
L(a,b,3)=255;
L(a,b,1)=255;
end
end
for a=round((r/2))-1:round((r/2))+1
for b=1:round((c/2))-1
L(a,b,3)=255;
L(a,b,2)=255;
end
end
for a=round((r/2)):r
for b=1:3
L(a,b,3)=255;
L(a,b,2)=255;
end
end

for a=r-2:r
for b=1:round((c/2))-1
L(a,b,3)=255;
L(a,b,2)=255;
end
end
imshow(L)
pause(1);
end
imshow(L1);

Resultados

Conclusin:
Es de gran importancia el procesamiento de imgenes ya que
nos ayuda en cmo crear un sistema que utilice visin
artificial e inteligencia artificial.
Con este programa nos damos cuenta la facilidad de la
creacin de cambios de colores y lneas dentro de una imagen
y cmo es que est compuesta.
Con esto podemos experimentar los principios de una
animacin y cmo es que los software actuales que estn
dedicados a estos tienen estos principios implantados.

You might also like