I want to ask about this function in matlab dicomread
example :
a = dicomread ('m.dcm');
imshow(a)
the image showed in the screen but it is very dark.....I wonder way it is dark and not normal.
I checked with different dicom images but the problem remain.
I hope you can help me and
thanks in advance.
If you are dealing with monochrome images, you can set a linear scaling between a minimum and maximum pixel value as follows:
img = dicomread('filename');
imshow(img, [minAllowedPixValue maxAllowedPixValue]);
Alternately, you can display the image at full dynamic range:
imshow(img, []);
I think you need to read the image colormap together with the data, then pass it to IMSHOW:
[a, amap] = dicomread ('m.dcm');
imshow(a,amap)
dicomread
returns a multi-band image.
Try
a = dicomread ('m.dcm');
figure();imshow(a(:,:,:,1));
Try
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);