как отобразить изображение dicom в matlab?

Я хочу спросить об этой функции в MATLAB dicomread

пример :

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

на экране появилось изображение, но оно очень темное.....Интересно, как там темно и ненормально. Я проверил с различными изображениями dicom, но проблема остается. Я надеюсь, что вы можете помочь мне и Спасибо заранее.

4 ответов


Если вы имеете дело с монохромными изображениями, вы можете установить линейное масштабирование между минимальным и максимальным значением пикселя следующим образом:

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

поочередно вы можете отображать изображение в полном динамическом диапазоне:

imshow(img, []);

Я думаю, вам нужно прочитать цветовую карту изображения вместе с данными, а затем передать ее в IMSHOW:

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

dicomread возвращает мультиспектрального изображения.

попробовать

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

попробовать

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