私は超音波装置から非圧縮のdicomビデオを作成しました。今、私はPythonアプリケーションでフレームごとにそれを読んで、今はファイルを保存したいと思います。後でいくつかの画像処理を追加したいと思います。これまでは、最初のフレームに属するバイトを抽出しようとしました。バイト配列から解凍されたイメージを読み取る
import dicom
import array
from PIL import Image
filename = 'image.dcm'
img = dicom.read_file(filename)
byte_array = array.array('B', img.PixelData[0:(img.Rows * img.Columns)])
このバイタレイをファイル(ビットマップ、JPEGなど)にどうやって取得できますか?私はimage = Image.fromarray(byte_array)
とpythonの画像ライブラリを使用しようとしましたが、エラーが発生しました。
AttributeError: 'str' object has no attribute 'array_interface'
私はどこかで画像の寸法を指定する必要がありますが、その方法は分かりません。
私は、Pythonについてあまり知らないが、私は最近、多分あなたはそれが便利、同様の話題を扱うスレッドに投稿していたします。http://stackoverflow.com/questions/37847414/viewing-dicom -image-with-bokeh/37936986#37936986 –
まず画像の寸法に合わせて配列のサイズを変更してみてください。 http://stackoverflow.com/questions/7694772/turning-a-large-matrix-into-a-grayscale-image私は出力を心配する前に、あなたのソースを確認するためにフレームの行、cols、バイトサイズとフレーム数をダンプします。 –