2012-03-21 21 views
8

Quiero preguntar acerca de esta función en Matlab dicomreadcómo mostrar la imagen dicom en matlab?

ejemplo:

a = dicomread ('m.dcm'); 
imshow(a) 

mostró la imagen en la pantalla, pero es muy oscuro ..... Me pregunto forma en que es oscura y no es normal Comprobé con diferentes imágenes dicom, pero el problema persiste. Espero que me puedan ayudar y gracias de antemano.

Respuesta

8

Si se trata de imágenes monocromáticas, se puede establecer una escala lineal entre un valor de píxel mínimo y máximo de la siguiente manera:

img = dicomread('filename'); 
imshow(img, [minAllowedPixValue maxAllowedPixValue]); 

O bien, usted puede mostrar la imagen con un rango dinámico completo:

imshow(img, []); 
+0

gracias por explicar ... ahora lo entiendo. gracias de nuevo –

0

dicomread devuelve una imagen de varias bandas.

Trate

a = dicomread ('m.dcm'); 
figure();imshow(a(:,:,:,1)); 
+0

Probé u lo que me dijo .... .el problema permanece. ... la imagen aparece oscura. –

+0

gracias por tratar de ayudarme. –

+0

@ user-x, ¿puedes publicar la imagen? –

4

Creo que se necesita para leer el mapa de colores de imagen junto con los datos, y luego pasarlo a imshow:

[a, amap] = dicomread ('m.dcm'); 
imshow(a,amap) 
+0

muchas gracias ..... que realmente lo hizo. –

0

Trate

im = dicomread('image.dcm');

im = im2double(im); % this line to convert from uint16 to double

im = mat2gray(im); % this line to put the data in range [0,1]

figure;imshow(im);

Cuestiones relacionadas