作者potter1529 (宋代才女唱元曲)
看板MATLAB
标题[讨论] 图片显示 (dicom图档)
时间Sat Jun 7 01:01:42 2014
求救各位:
我之前利用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
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.252.249.22
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/MATLAB/M.1402074105.A.493.html
1F:推 jack10313:-2048 to 2048 不是10 bits吗 16 bits 相对变暗? 06/07 01:10
2F:→ potter1529:可是图片读取完就是int16 即使我让最大值是2048也无用 06/07 01:28
3F:推 jack10313:估计Dicom多了很多information,protocol不相同 06/07 02:08
4F:→ jack10313:先转到dicom支援的格式才可以做下一步 06/07 02:08
5F:→ potter1529:不了解 请问有什麽做法吗? 06/07 02:36
6F:推 jack10313:13294 06/07 03:06