2012-03-21 12 views
8

voglio chiedere su questa funzione in MATLAB dicomreadcome visualizzare l'immagine dicom in matlab?

esempio:

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

l'immagine ha mostrato sullo schermo, ma è molto scuro ..... mi chiedo modo è buio e non normale. Ho controllato con diverse immagini dicom, ma il problema rimane. Spero che tu possa aiutarmi e grazie in anticipo.

risposta

8

Se avete a che fare con le immagini in bianco e nero, è possibile impostare una scala lineare tra il valore minimo e massimo del pixel come segue:

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

In alternativa, in grado di visualizzare l'immagine a gamma dinamica:

imshow(img, []); 
+0

grazie per aver spiegato .. ora capisco. grazie ancora –

0

dicomread restituisce un'immagine multi-banda.

Prova

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

ho provato che u mi ha detto .... . Il problema rimane. ... l'immagine appare scura. –

+0

grazie per aver cercato di aiutarmi. –

+0

@ user-x, puoi postare l'immagine? –

4

Credo che hai bisogno di leggere la mappa colori dell'immagine insieme ai dati, poi passarlo al imshow:

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

grazie mille ..... questo è stato davvero. –

0

Prova

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);