3
我嘗試訪問DICOM文件的RGB未知壓縮(也許沒有)的像素陣列。提取灰度像素數組工作得很好。如何使用pydicom從DICOM文件訪問RGB像素陣列?
但是,使用
import dicom
import numpy as np
data_set = dicom.read_file(path)
pixel_array = data_set.pixel_array
size_of_array = pixel_array.shape
if len(size_of_array) == 3:
chanR = pixel_array[0][0:size_of_array[1], 0:size_of_array[2]]
chanG = pixel_array[1][0:size_of_array[1], 0:size_of_array[2]]
chanB = pixel_array[2][0:size_of_array[1], 0:size_of_array[2]]
output_array = (0.299 ** chanR) + (0.587 ** chanG) + (0.114 ** chanB)
與目標,將它轉化成一個共同的灰度陣列。不幸的是結果數組output_array
沒有包含正確的像素數據。內容不是虛假縮放的,它們在空間上受到干擾。問題在哪裏?
也許它BGR而不是RGB? – Divakar
不,相應的DICOM標籤顯示「RGB」,其他模式是「OT」,其患者報告轉換爲圖像格式。 結果圖像的分辨率和圖像大小確實很合適。但是每個頻道似乎只包含部分空間信息。 –
什麼是'pixel_array.shape'? –