PDA

Ver la versión completa : ¿Algún alma caritativa me hecha una mano con Matlab?



Shinosuke1991
19/01/2013, 15:40
Pues nada, aqui me veo haciendo un trabajo del que 6 personas dependen de mis excasas dotes de Matlab asique recurro a mi foro favorito a ver si algun alma caritativa se apiada XD.

El objetivo del m file es usando la toolbox crear una imagen de rango dinámico extendido a partir de imagenes con diferente tiempo de exposición.La cosa es que debe de haber algo mal pues cuando obtengo la exposición final los valores son 0 en casi todos los puntos, y yo creo que es más un error de forma en algún punto que otra cosa.

Os pego el m-file (la m y la k son para sacar gamma mas abajo)

t1=11.22;t2=21.31;t3=62.67; %Tiempos de exposicion de las fotos
m=0.9623;
k=t3/t1;
I1=rgb2gray(I1); %Convirtiendo a gris
I2=rgb2gray(I2);
I3=rgb2gray(I3);
n1=im2double(I1); %Pasando a tipo doble
n2=im2double(I2);
n3=im2double(I3);
nmin=min(n3);
P=polyfit(n1(:),n2(:),1);
lm=log(m);
lk=log(k);
gamma=lm/lk;
ig=1/gamma;
E1=(n1/nmin); %Sacando exposicion foto 1
E1=E1.^ig;
E1=E1*(t3/t1);
E2=(n2/nmin); %Sacando exposición foto 2
E2=E2.^ig;
E2=E2*(t3/t2);
E3=(n3/nmin(:)); %Sacando exposición foto 3
E3=E3.^ig;
E=E1+E2+E3; %Suma de exposiciones

Shinosuke1991
19/01/2013, 18:53
puede que sea la conversión a gris? las variables I1,I2,I3 no deberían tener otro nombre distinto al de la imagen?

Nada nada, yo creo que eso da igual, si no haces la conversión a gris es mucho mas dificil hacer lo demas.

De todas formas, muchas gracias por tu ayuda

juanvvc
19/01/2013, 19:21
La gamma está dando -0.022 (y al invertirla tienes -43. No sé bien por qué la usas invertida, pero ese valor resultará en todos los pixeles negros). La gamma debería dar un valor cercano a 1, ¿no?

Prueba a forzar la gamma a 1 a ver qué hace y luego ya miramos de corregirla.

Shinosuke1991
19/01/2013, 22:22
La gamma está dando -0.022 (y al invertirla tienes -43. No sé bien por qué la usas invertida, pero ese valor resultará en todos los pixeles negros). La gamma debería dar un valor cercano a 1, ¿no?

Prueba a forzar la gamma a 1 a ver qué hace y luego ya miramos de corregirla.

muchas gracias, ahora pruebo

-----Actualizado-----

Es muy posible que eso tambien esté mal XD Pero no es por eso... la composición me sale una simple raya de color en vez de una imágen.Le mandé un email al profesor para ver si me lo revisaba y me decia algo, os comento por aqui por si alguno teneis curiosidad

Shinosuke1991
22/01/2013, 20:22
El error era que
nmin=min(n3);
tenia que ser un número y asi salia un vector por tanto debia ser
nmin=min(n3(:));
Aparte, como habeis comentado, los valores no eran normales.La camara hacia cosas raras y se adaptaba sola al rango, por lo tanto esto salia mal. Probado con otras fotos ya he conseguido que funcione.

Un saludo!