求救各位:
我之前利用jpg的影像图档进行分析,用的是 X = imread(...) 函式
显示图用的是imshow(X) 或是 imshow(uint(X))
但是现在分析要改成dicom档
我用 X = dicomread(...)
然后 imshow(X)
出来的图与我在其他地方用肉眼看到的图有很大的差距
http://ppt.cc/G4ec (原图)
http://ppt.cc/sMe8 (matlab读出来的样子)
光是肉眼看就差很多,这样完全无法知道后面做的事情是不是对的
因为之前处理jpg,图片的亮度是 0~255 (RGB一样是三维的0~255)
但是dicomread出来的阵列显示的值是 -2048 ~ 2048
大小变大就算了,有负值让我很困惑。
而且图片的分辨率如此的低,我在想是不是因为读出来的格式是int16的关系
2048在int16里面很低?
因为之前jpg档用Uint8显示就很清楚。
我用一些数学的方法,将这些值压缩在0~256用Uint8显示
或是压缩成0~1用double显示黑白画面
都一样光用肉眼看就跟原图有相当的差距
请问我使用dicomread的方式错了吗?
或是显示的方式不对吗?
p.s:
再补上其他例子
左边是matlab读出来的图,右边是microdicom显示的图,我用电脑print出来的
http://ppt.cc/5q~I