2

我目前正在尝试制作一个 android dicom 应用程序以下代码以“通常”图像格式打开图片 drom res/drawable,但它不适用于 .dcm

public class BitmapView extends View
{
    public BitmapView(Context context) {
            super(context);
    }
    @Override
    public void onDraw(Canvas canvas) {
    Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.test);
        canvas.drawColor(Color.BLACK);
        canvas.drawBitmap(bmp, 10, 10, null);
    }
}

在主要活动中:

protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContentView(new BitmapView(this));     
    }

提前致谢!

4

3 回答 3

3

Dicom 是一种通用容器。在 Dicom 文件中,您可以找到多种图像格式。从灰度到 RGB,从单帧到多帧,像素值范围不是普通的 8 位(RGB/RGBA 中为 24/32),而是 12 位或 16 位灰度。

Dicom 文件包含许多元素(字段),这些元素(字段)指示内容的类型,甚至这些内容应该如何呈现。它不像将 Dicom 图像转换为 BMP 那样简单。

如果您从 PACS 检索 Dicom 图像,我建议使用WADO服务。这样,您可以获得 Jpeg 图像(将演示状态应用于 Dicom 文件的内容的结果)。

另一种选择是使用一些实用程序将 Dicom 文件转换为更传统的图像格式。DCMTK工具包中有一些优秀的开源工具,例如dcmj2pnm

于 2013-05-01T19:37:09.383 回答
1

Android 无法识别 Dicom 图像,因此您无法使用 BitmapFactory 对象打开它们。

最近, Imebra已通过调用 Imebra 本机代码的 Java 包装器进行了扩展,并附带了一个预构建的 JAR,因此您不必处理 JNI 编译。

于 2013-09-30T11:02:00.940 回答
0

除了 jap1968 和 Paolo 提到的 2 个选项,它们都很好,但需要使用某种方法在不同的平台上转换图像,然后在 Android 设备和互联网连接上查看,您实际上可以查看 Dicom 文件本身如果您使用支持 DCM 及其不同子类型的库,则直接使用 Android 设备。一个这样的工具包在 Google Play 上有一个免费的演示应用程序:https: //play.google.com/store/apps/details?id=leadtools.datasetdemo

于 2013-12-26T15:02:00.483 回答