求救各位:
我之前利用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