Tarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptx
Imagen zeros
1. Centro de Ciencias de la Ingeniería
Departamento de Ingeniería Biomédica
Nombre: Ana Patricia Chessani Flores
Maestro: Dr. Omar Gutiérrez Navarro
Materia: Imagenología
Fecha de entrega: 4 de Septiembre de 2015
2. 1.-Realice lo siguiente
a) Guarde cada uno de los canales en arreglos diferentes y muéstrelos como imágenes
en tono de grises.
b) Aplique las siguientes funciones de transferencia tonal a cada una de las tres imágenes
obtenidas en el inciso anterior y muestre los resultados en una sola gura.
1) f1(x,y)=L − 1 − Im(x,y) donde L es el valor máximo de intensidad encontrado en la
imagen e Im(x,y) la intensidad del pixel en x,y
2) f2(x,y)=Im(x,y)0,2
3) f3(x,y)=Im(x,y)5
4) f4(x,y)=Im(x,y)25
Código completo:
%Con max se obtiene la maxima intensidad de un pixel
% size(Im) ---> Cantidad de Pixeles que tiene la imagen en los ejes X y Y
y
% 3 canales
% ans = 506 800 3
clear all
clc
close all
Im=double(imread('tissue.png')); %Obtención de la magen orignal
x=1:1:506;%Vector de tamaño x de la imagen
y=1:1:800;%Vector de tamaño y de la imagen
A1=Im(x,y).^1/5;%magen original elevada a potencia de 0.2
B1=Im(x,y).^5;%magen original elevada a potencia de 5
C1=Im(x,y).^25;%magen original elevada a potencia de 25
figure(1);
%Division del layout para imágenes con subplot
%Fila, cantidad de imágenes, número de la imagen
subplot(1,3,1);imagesc(A1);
colormap('gray');
subplot(1,3,2);imagesc(B1);
colormap('gray');
title('Función de transferencia tonal de imagen original');
subplot(1,3,3);imagesc(C1);
colormap('gray');
%CANAL 1
A=squeeze(Im(:,:,1)); %Generar imágenes en escala de grises a partir de
los canales RGB
figure(2);imagesc(A);
colormap('gray');
title('Canal 1');
A1=A(x,y).^1/5;
A2=A(x,y).^5;
A3=A(x,y).^25;
figure(3);
3. subplot(1,3,1);imagesc(A1);
colormap('gray');
subplot(1,3,2);imagesc(A2);
colormap('gray');
title('Función de transferencia tonal del canal 1');
subplot(1,3,3);imagesc(A3);
colormap('gray');
%CANAL 2
B=squeeze(Im(:,:,2));
figure(4);imagesc(B);
colormap('gray');
title('Canal 2');
B1=B(x,y).^1/5;
B2=B(x,y).^5;
B3=B(x,y).^25;
figure(5);
subplot(1,3,1);imagesc(B1);
colormap('gray');
subplot(1,3,2);imagesc(B2);
colormap('gray');
title('Función de transferencia tonal del canal 2');
subplot(1,3,3);imagesc(B3);
colormap('gray');
%CANAL 3
C=squeeze(Im(:,:,3));
figure(6);imagesc(C);
colormap('gray');
title('Canal 3');
C1=C(x,y).^1/5;
C2=C(x,y).^5;
C3=C(x,y).^25;
figure(7);
subplot(1,3,1);imagesc(C1);
colormap('gray');
subplot(1,3,2);imagesc(C2);
colormap('gray');
title('Función de transferencia tonal del canal 3');
subplot(1,3,3);imagesc(C3);
colormap('gray');
%Aplicación de transferencia tonal através de la función de:
%f1(x,y)=L-1-Im(x,y);
L=255; %Valor máximo de intensidad
Im=L-1-Im(x,y);%Función de transferencia tonal
figure(8);imagesc(Im);
colormap('gray');
title('Función de transferencia Tonal');
Con el siguiente código se muestra una representación de la imagen de tejido tisular
donde;
4. %Con max se obtiene la maxima intensidad de un pixel
% size(Im) ---> Cantidad de Pixeles que tiene la imagen en los ejes X y Y
y
% 3 canales
% ans = 506 800 3
clear all
clc
close all
Im=double(imread('tissue.png')); %Obtención de la imagen orignal
x=1:1:506;%Vector de tamaño x de la imagen
y=1:1:800;%Vector de tamaño y de la imagen
A1=Im(x,y).^1/5;%magen original elevada a potencia de 0.2
B1=Im(x,y).^5;%magen original elevada a potencia de 5
C1=Im(x,y).^25;%magen original elevada a potencia de 25
figure(1);
%Division del layout para imágenes con subplot
%Fila, cantidad de imágenes, número de la imagen
subplot(1,3,1);imagesc(A1);
colormap('gray');
subplot(1,3,2);imagesc(B1);
colormap('gray');
title('Función de transferencia tonal de imagen original');
subplot(1,3,3);imagesc(C1);
colormap('gray');
A continuación se muestra el primer canal de la imagen RGB en escala de grises a la cual se le
aplicaron las funciones de transferencia tonal.
5. %CANAL 1
A=squeeze(Im(:,:,1)); %Generar imágenes en escala de grises a partir de
los canales RGB
figure(2);imagesc(A);
colormap('gray');
title('Canal 1');
A1=A(x,y).^1/5;
A2=A(x,y).^5;
A3=A(x,y).^25;
figure(3);
subplot(1,3,1);imagesc(A1);
colormap('gray');
subplot(1,3,2);imagesc(A2);
colormap('gray');
title('Función de transferencia tonal del canal 1');
subplot(1,3,3);imagesc(A3);
colormap('gray');
6. Aquí se muestra el segundo canal de la imagen RGB en escala de grises a la cual se le aplicaron las
funciones de transferencia tonal.
%CANAL 2
B=squeeze(Im(:,:,2));
figure(4);imagesc(B);
colormap('gray');
title('Canal 2');
B1=B(x,y).^1/5;
B2=B(x,y).^5;
B3=B(x,y).^25;
figure(5);
subplot(1,3,1);imagesc(B1);
colormap('gray');
subplot(1,3,2);imagesc(B2);
colormap('gray');
title('Función de transferencia tonal del canal 2');
subplot(1,3,3);imagesc(B3);
colormap('gray');
7.
8. Aquí se muestra el tercer canal de la imagen RGB en escala de grises a la cual se le aplicaron las
funciones de transferencia tonal.
%CANAL 3
C=squeeze(Im(:,:,3));
figure(6);imagesc(C);
colormap('gray');
title('Canal 3');
C1=C(x,y).^1/5;
C2=C(x,y).^5;
C3=C(x,y).^25;
figure(7);
subplot(1,3,1);imagesc(C1);
colormap('gray');
subplot(1,3,2);imagesc(C2);
colormap('gray');
title('Función de transferencia tonal del canal 3');
subplot(1,3,3);imagesc(C3);
colormap('gray');
9. Por último se muestra la funcion de transferencia tonal con la cantidad máxima de intensidad en
los pixeles con el vector de tamaño de la matriz-imagen.
%Aplicación de transferencia tonal através de la función de:
%f1(x,y)=L-1-Im(x,y);
L=255; %Valor máximo de intensidad
Im=L-1-Im(x,y);%Función de transferencia tonal
figure(8);imagesc(Im);
colormap('gray');
title('Función de transferencia Tonal');
10. 2.- Cargue la imagen football.jpg
a) Guarde una sub-imagen Im que contenga la información del canal 1 de la imagen
original.
b) Genere una imagen A de ceros que tenga el doble de tamaño que Im.
c) Copie los valores de la imagen Im en las posiciones de A en espacios de 2, es decir,
omitiendo un renglón y una columna.
d) Calcule el valor de los pixeles vacíos como un promedio de la intensidad de sus 4
vecinos más cercanos.
Código completo:
clear all
clc
A1=imread('football.jpg');%Cargar imagen original
figure(1);imagesc(A1);
11. colormap('gray');
A=A1(:,:,1);%Obtencón del primer canal
Z=zeros(2*size(A));%Hacer una matrz con ceros de tamaño doble
Z(1:2:end,1:2:end)=A;%En pasos de 2 en 2 desde 1 hasta el tamaño de la
imagen
figure(2);imagesc(Z);
colormap('gray');
W=Z;
%Promedio de las posiciones de la imagen tanto laterales como diagonales
for xp=2:2:size(Z,1)-1 %Vector con el numero de renglones y de columnas
es decir solo la columna 1
for yp=2:2:size(Z,2)-1
%Función de obtención del promedio de las posiciones laterales y
%diagonales
W(xp,yp)=(Z(xp+1,yp+1)+Z(xp-1,yp+1)+Z(xp+1,yp-1)+Z(xp-1,yp-
1)+Z(xp,yp-1)+Z(xp,yp+1)+Z(xp+1,yp)+Z(xp-1,yp))/4;
end
end
figure(3);
imagesc(W);
colormap('gray');
Aquí se obtiene la imagen original del balón:
clear all
clc
A1=imread('football.jpg');%Cargar imagen original
figure(1);imagesc(A1);
colormap('gray');
12. A continuación se obtiene la imagen con ceros:
A=A1(:,:,1);%Obtencón del primer canal
Z=zeros(2*size(A));%Hacer una matrz con ceros de tamaño doble
Z(1:2:end,1:2:end)=A;%En pasos de 2 en 2 desde 1 hasta el tamaño de la
imagen
figure(2);imagesc(Z);
colormap('gray');
Obtención de la función promedio para rellenar los vectores en ceros tanto de diagonales como de
laterales:
W=Z;
%Promedio de las posiciones de la imagen tanto laterales como diagonales
for xp=2:2:size(Z,1)-1 %Vector con el numero de renglones y de columnas
es decir solo la columna 1
for yp=2:2:size(Z,2)-1
%Función de obtención del promedio de las posiciones laterales y
%diagonales
W(xp,yp)=(Z(xp+1,yp+1)+Z(xp-1,yp+1)+Z(xp+1,yp-1)+Z(xp-1,yp-
1)+Z(xp,yp-1)+Z(xp,yp+1)+Z(xp+1,yp)+Z(xp-1,yp))/4;
end
end
figure(3);
imagesc(W);