Matlab - Multiplicar binarios por escalares

 
Vista:

Multiplicar binarios por escalares

Publicado por IHS (3 intervenciones) el 29/04/2015 11:20:10
Hola,

estoy haciendo un TFM que consiste en segmentar tumores de cortes anatómicos, con la función regiongrowing obtengo la máscara binaria del tumor, pero necesito que la imagen segmentada tenga su color original, es decir el de la radiografía. Me han dicho que multiplicando la máscara binaria por la imagen original me da la segmentación del tumor original, pero a la hora de multiplicar binarios*escalares el programa me dice: "Integers can only be combined with integers of the same class, or scalar doubles".

Agradecería muchísimo que alguien me pudiera ayudar.

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jorge De Los Santos
Val: 30
Ha disminuido su posición en 12 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Multiplicar binarios por escalares

Publicado por Jorge De Los Santos (213 intervenciones) el 02/05/2015 02:07:04
Hola IHS


Suponiendo que tu imagen original está almacenada en "X", que tu mascara binaria es "XB", y que la imagen segmentada en el mismo color que la original es "XS", se tiene:

1
2
3
4
XS=zeros(size(X),'uint8');
XS(:,:,1)=uint8(XB).*X(:,:,1);
XS(:,:,2)=uint8(XB).*X(:,:,2);
XS(:,:,3)=uint8(XB).*X(:,:,3);



Claro, lo anterior funcionará si tu matriz de la imagen original está almacenada en formato RGB.




Saludos.

Jorge De Los Santos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Multiplicar binarios por escalares

Publicado por IHS (3 intervenciones) el 04/05/2015 11:20:17
Hola Jorge,

En primer lugar muchas gracias por contestar. La imagen original se trata de imagen médica de TAC, en formato DICOM, por tanto son en blanco y negro.

Acabo de probar lo que me has comentado pero me sigue dando estos errores: "Error using .*
Integers can only be combined with integers of the same class, or scalar doubles." y "Index exceeds matrix dimensions."

Sabes como lo puedo solucionar?

Muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar