2012-03-21 104 views
8

我想請教一下這個函數在MATLAB dicomread如何在matlab中顯示dicom圖像?

例如:

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

的圖像在屏幕顯示,但它是非常黑暗的.....我不知道事情是這樣的黑暗並不正常。 我檢查了不同的dicom圖像,但問題依然存在。 我希望你能提前幫助我和 。

回答

8

如果你正在處理的黑白圖像時,可以設置最小和最大像素值之間的線性縮放比例如下:

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

或者,您可以在整個動態範圍內顯示圖像:

imshow(img, []); 
+0

謝謝你解釋..我現在明白了。再次感謝你 – 2012-03-22 23:06:42

0

dicomread返回多波段圖像。

嘗試

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

我想什麼ü告訴我....問題依然存在。 ...圖像顯得很暗。 – 2012-03-21 15:16:52

+0

謝謝你試圖幫助我。 – 2012-03-21 15:17:19

+0

@ user-x,你可以發佈圖片嗎? – 2012-03-21 16:45:57

4

我認爲你需要與數據一起讀出的圖像顏色表,然後把它傳遞給IMSHOW:

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

非常感謝你.....真的做到了。 – 2012-03-21 17:51:41

0

嘗試

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

相關問題