[討論] 圖檔顯示 (dicom與jpg)

看板MATLAB作者 (宋代才女唱元曲)時間11年前 (2014/06/07 01:01), 編輯推噓3(303)
留言6則, 2人參與, 最新討論串1/3 (看更多)
求救各位: 我之前利用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://www.ptt.cc/bbs/MATLAB/M.1402074105.A.493.html

06/07 01:10, , 1F
-2048 to 2048 不是10 bits嗎 16 bits 相對變暗?
06/07 01:10, 1F

06/07 01:28, , 2F
可是圖片讀取完就是int16 即使我讓最大值是2048也無用
06/07 01:28, 2F

06/07 02:08, , 3F
估計Dicom多了很多information,protocol不相同
06/07 02:08, 3F

06/07 02:08, , 4F
先轉到dicom支援的格式才可以做下一步
06/07 02:08, 4F

06/07 02:36, , 5F
不了解 請問有什麼做法嗎?
06/07 02:36, 5F

06/07 03:06, , 6F
13294
06/07 03:06, 6F
文章代碼(AID): #1JaVFvIJ (MATLAB)
文章代碼(AID): #1JaVFvIJ (MATLAB)