【发布时间】:2018-12-10 14:35:33
【问题描述】:
我正在尝试使用 dicom 图像并在 Python 环境中使用 OpenCV 对其进行操作。到目前为止,我已经使用 pydicom 库读取 dicom(.dcm) 图像数据并使用像素数组属性使用 OpenCV imshow 方法显示图片。但输出只是一个空白窗口。这是我目前正在使用的代码的 sn-p。
import numpy as np
import cv2
import pydicom as dicom
ds=dicom.dcmread('sample.dcm')
cv2.imshow('sample image dicom',ds.pixel_array)
cv2.waitkey()
如果我打印出此处使用的数组,则输出与使用普通 numpy 数组得到的不同。我也尝试过使用 matplotlib imshow 方法,它能够显示带有一些颜色失真的图像。有没有办法将数组转换为 OpenCV 的可读格式?
【问题讨论】:
-
您错过了对
cv2.waitKey的呼叫。没有它,GUI 将无法工作(阅读文档)。 -
@DanMašek 请原谅我,我实际上正在使用该方法,但它不在此 sn-p 中。该窗口确实显示了,但它是一个空白窗口。
-
@DanMašek 但我会将其添加到代码中,以免人们误解。
-
你得到的numpy数组元素的数据类型是什么?
np.int16?范围是多少(最小值/最大值)?是单通道吗? -
@DanMašek 实际上是 uint16
标签: python python-3.x opencv opencv3.0 pydicom