Mosaico
PLANTEAMIENTO DEL PROBLEMA:
Realizar un script en MATLAB que permita la lectura de dos imágenes, una de las cuales se procesará para convertirla en una base de datos quecontiene un conjunto de gamas de grises de sí misma y la segunda imagen es la que será convertida en un mosaico utilizando los matices obtenidos de la base de datos de acuerdo a su necesidad.DESCRIPCIÓN DE CÓDIGO:
Generación de los mosaicos en gama de grises
1. Leer la imagen, almacenarla y pasarla a escala de grises
I=imread('flor3.jpg');
J=rgb2gray(I);
2. Declararmatrices auxiliaries para almacenar los mosaicos y presentarlos posteriormente en pantalla como parte de una sola figura
mosaicos=zeros(32,32,256); %matriz para almacenar los mosaicosmatrizbd=zeros(512,512); %matriz base de datos de mosaicos
3. Redimensionar la imagen a ser procesada en este caso a un tamaño de 32x32 pixeles
M=imresize(J,[32 32]);
4. Obtener la media dela imagen redimensionada y redondearla para obtener siempre números enteros
media=round(mean(mean(M)));
5. Realizar un bucle para generar los 255 tonos, para lo cual se utiliza un artificiodonde de la imagen redimensionada se sustrae la media y se va aumentando progresivamente en uno la tonalidad.
j=1;
for i=0:255
mosaicos(:,:,j)=M-media+i;
j=j+1;
end
6. Almacenar lastonalidades obtenidas en una sola matriz por medio de un bucle que utiliza saltos de 32 pixeles para que encajen los mosaicos obtenidos anteriormente
k=1;
for i=1:32:512
for j=1:32:512matrizbd(i:(i+31),j:(j+31))=mosaicos(:,:,k);
k=k+1;
end
end
Generación de la imagen en mosaico
1. Leer la imagen, almacenarla y pasarla a escala de grisesR=imread('taj_mahal.jpg');
S=rgb2gray(R);
2. Ingresar el largo y ancho que se desea para la imagen final
n=input('Ingrese el largo en pixeles que desea para la imagen |: ');
m=input('Ingrese...
Regístrate para leer el documento completo.