Android开发:如何以位图形式打开.dcm文件?

2024-01-03

我目前正在尝试制作一个 android dicom 应用程序 以下代码以“通常”图像格式从 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));     
    }

提前致谢!


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

Dicom 文件包含许多元素(字段),指示内容的类型,甚至这些内容应该如何呈现 https://www.clearcanvas.ca/Portals/0/ClearCanvasFiles/Documentation/DevelopersGuide/1_5_SP1/index.html?dicom_presentation_state.htm。它并不像将 Dicom 图像转换为 BMP 那样简单。

如果您要从 PACS 检索 Dicom 图像,我建议使用WADO http://www.research.ibm.com/haifa/projects/software/wado/服务。通过这种方式,您可以获得 Jpeg 图像(将演示状态应用于 Dicom 文件内容的结果)。

另一种选择是使用某些实用程序将 Dicom 文件转换为更传统的图像格式。有一些优秀的开源工具,例如dcmj2pnm http://support.dcmtk.org/docs/dcmj2pnm.html, 来自DCMTK http://dicom.offis.de/dcmtk.php.en工具包。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android开发:如何以位图形式打开.dcm文件? 的相关文章

  • Flutter :已处置的 CameraController,在已处置的 CameraController 上调用了 buildPreview()

    如何正确初始化和处理相机控制器 我在用camera 0 9 4 5 与许多人一起 其他错误 https stackoverflow com questions 70592464 flutter change the path of reco
  • Android主线程的IO操作

    我的问题有两个 是否建议在 Android 的主线程上进行 IO 操作 或者它是否有可能导致我的应用程序崩溃 如果在主线程上执行 IO 操作不理想 我可以使用哪些其他框架 以便当我的应用程序加载时它可以执行一些基本的 IO 文件读取并将值存
  • 如何替换 Android 中已弃用的 Bundle/Argument get(key) 调用

    我有以下扩展函数 允许我在应用程序活动和片段之间传递捆绑数据项 inline fun
  • 在 Android 上使用 AT 命令与调制解调器对话

    我试图与三星 Galaxy s2 plus 和华为 p1 xl u9200 调制解调器发送 AT 命令 但无法得到任何结果 我使用 adb shell 发送命令并使用 logcat 查看日志 在三星 当我执行 cat 时 proc tty
  • 拖动时跳转 ImageView。 getX() 和 getY() 值正在跳跃

    我创建了一个用于拖动视图的 onTouchListener 如果我使用的话 图像可以顺利拖动getRawX and getRawY 问题是 当您向下放置第二个指针然后抬起第一个指针时 图像将跳转到第二个指针 此 onTouchListene
  • 带有 Android 支持库 v7 的 Maven Android 插件

    我使用 maven android plugin 构建我的 android 应用程序 它依赖于 android 支持库 v4 和 v7 由于我没有找到如何从developer android com下载整个sdk 因此我无法使用maven
  • Android 中的列表(特别是 RecyclerView 和 CardView)如何工作

    请原谅我问这个问题 但我是 Android 开发新手 尽管我正在尝试了解developer android com 网站上的基础知识 但大多数示例 即使他们说它们是为 Android Studio 构建的 尚未设置为使用 Gradle 因此
  • Android 全屏对话框确认和拒绝操作

    材料设计中的全屏对话框应该在操作栏 工具栏上有确认和拒绝操作 我的问题是 我该怎么做 显示对话框 getFragmentManager beginTransaction add R id container new MyDialogFrag
  • 退出设备上的 system.img

    我正在为我们部署给客户的设备 LG p509 Optimus 1 开发自动应用程序更新解决方案 我们可以控制这些设备 并且目前在它们上安装自定义内核 但不是完整的自定义 ROM 由于我们试图在设备上自动更新我们的应用程序 因此我们需要由我们
  • 华为手机“受保护的应用程序”设置及处理方法

    我有一台搭载 Android 5 0 的华为 P8 用于测试应用程序 该应用程序需要在后台运行 因为它跟踪 BLE 区域 我发现华为内置了一个名为 受保护的应用程序 的 功能 可以从手机设置 电池管理器 gt 受保护的应用程序 访问该功能
  • 透明 9patch 图像:显示出线条

    我得到了一个透明的 9 补丁图像 其中有 9 条补丁线显示槽 This is the output 显然我不希望水平线可见 这就是我创建 9patch 的方式 This is the final image that is used in
  • Android -room 持久库 - DAO 调用是异步的,因此如何获取回调?

    从我读到的Room 不允许您在主线程上发出数据库查询 因为可能会导致主线程延迟 所以想象一下我正在尝试更新 UI 主线程上的文本视图 其中一些数据我将如何得到回调 让我给你举个例子 想象一下 我想将我的业务模型数据存储到一个名为 事件 的对
  • 在新的 intel x86 android 模拟器中访问 google api

    我只是尝试在新的 x86 android 模拟器中运行我公司的应用程序 但是我们的应用程序依赖于 google 地图 API 而这在 google 随 android sdk 版本 17 提供的 x86 系统映像中不可用 我的直觉告诉我答案
  • 是否可以通过 Android 应用程序来录音?

    我是一名开发人员 希望创建一个 Android 应用程序来记录电话 这是出于我个人的需要 为了我自己的目的和记录而记录电话 是否有可能做到这一点 是否可以访问麦克风以及通过扬声器发出的声音 我对 Android 开发有点陌生 所以请耐心等待
  • 在android中,将相机预览流到视图上

    我想将 Android 相机的相机预览流式传输到视图上 目的是随后使用 onDraw 将各种内容添加到视图中 我不需要随时实际捕捉图像 它不必是最高质量或每秒最大数量的帧 有谁知道如何做到这一点 将其添加到您的 xml 中
  • 哪个视图最亮?

    在Android中 哪个是轻量级视图 例如 View Textview Edittext 等 在某些情况下 我们需要使用视图来填充区域而不向用户显示视图 同时屏幕加载速度应该很快 您可以使用空间 android widget Space S
  • Android SearchView 在启动时隐藏键盘

    我有一个小问题正在尝试解决 当我打开应用程序时 键盘会显示输入搜索视图的查询 不过 我只想在单击搜索视图时显示键盘 我该如何解决 Thanks 这对我有用 用于隐藏焦点的代码 searchView SearchView view findV
  • 如何在android中通过蓝牙向配对设备发送短信?

    在我的应用程序中 我想通过蓝牙发送和接收短信 我可以在列表视图中看到配对设备名称和地址的列表 但是当我尝试向配对设备发送文本时 什么也没有发生 在其他设备中没有收到文本 这是我向配对设备发送消息的代码 private void sendDa
  • 丢失应用程序的密钥库文件(但已启用 Google Play 应用程序签名)

    我已经失去了原来的keystore用于签署我的应用程序的文件 我的应用启用了 Google Play 应用签名 如果我联系 Google 支持人员 是否可以重置密钥 以便我可以继续上传到此包 我希望我可以做到这一点 因为应用程序签名已启用
  • Android GetPTLAFormat 上的 Phonegap 错误

    我们正在开发一个使用 jQuery 移动和电话间隙的应用程序 一切似乎都工作正常 但是当在连接的 Android 手机上运行应用程序时 我们在 Eclipse logcat 中看到大量类似这样的错误 0 GetPTLAFormat inva

随机推荐

  • Nodejs 服务器主机名

    好的 在 Node js 中似乎很容易获取向我的服务器发出的请求的主机名 app get function req res console log req headers host 有没有一种简单的方法来确定我实际的 http 服务器的主机
  • python 中是否有与 php 的 $$variables 类似的语法

    python 中是否有与 php 的 variable 类似的语法 我实际上正在尝试的是根据值加载模型 例如 如果值为 Song 我想导入 Song 模块 我知道我可以使用 if 语句或 lambda 但是类似于 php 的 variabl
  • SQL Server 存储过程区分大小写吗?

    我有一个区分大小写的服务器 SQL Latin1 General CP1 CS AS 但数据库不区分大小写 SQL Latin1 General CP1 CI AS 如果我尝试在数据库上创建以下存储过程 则会收到错误 必须声明标量变量 te
  • Xamarin Forms CollectionView TapGestureRecognizer 未在标签上触发

    我有一个 XF 应用程序 定义了以下集合视图 第二个标签有一个不触发的 TapGestureRecognizerDoSomethingInteresting当我点击标签时在模型中 在 Android 上尝试这个 有人可以看看问题是什么吗 工
  • 使用 *apply 函数访问数据框的列名称

    我需要为初学者使用 R apply 函数制作教程 第一次不使用 reshape 或 plyr 包 我试着lapply 因为我读了apply对于数据框不好 这个数据框的一个简单函数 我想使用命名列来访问数据 fDist lt function
  • Powershell 中的标准化文件路径比较

    假设我有以下两条路径 比如说 两者都是有效的 p1 D folder1 p2 D Folder1 我想比较这两条路径的相等性 我期望两条路径是相同的 我尝试了以下两个命令 Resolve Path p1 eq Resolve Path p2
  • 我应该通过引用传递shared_ptr吗? [复制]

    这个问题在这里已经有答案了 传递shared ptr的最佳实践是什么 目前我传递shared ptr函数参数 如下所示 void function1 shared ptr
  • Matplotlib 中颜色图的设置范围

    我正在使用 matplotlib 绘制一个简单的图表 cm plt get cmap Blues nx draw circular G node color White edge color range G number of edges
  • 使用 ASP.net 对文件夹中的图像进行计数

    我想计算文件夹中的图像数量 但它会产生以下错误 Could not find a part of the path c Content slideshow images image 所有图像都位于项目的文件夹中 位于一个Content sl
  • Java 四舍五入

    我怎样才能将 numberGrade 的值向上舍入 这样如果它是 89 5 它就会变为 90 numberGrade 被视为双精度值 但将其设为 int 不会将其向上或向下舍入 public class GradeReporter The
  • 为什么类的常量数据成员需要在构造函数中初始化?

    我想知道为什么类的常量数据成员需要在构造函数中初始化 为什么不在其他地方初始化 这样做和不这样做有什么影响 我也看到只有静态常数积分数据可以在类内部初始化 但不能在类内部初始化任何数据成员 例如 假设下面是我的班级声明 class A in
  • 控制数组 vb.net

    我正在尝试在 VB net 中为购物系统编写一个程序 它将读取数据库并填充表单上的项目 该应用程序在可滚动面板内的标签中显示产品名称等信息 我正在创建对象并在运行时分配文本等值 我在代码中使用循环 如果我使用 vb 6 我将有一个控制数组
  • MongoError:连接未知

    我有一个 mongo 服务器在 localhost 27017 上运行 使用 mongo 控制台我可以在 mongodb 中插入数据 但是当我尝试使用 node js 连接它时 我收到上述错误 以下是使用的代码 var MongoClien
  • Anaconda 中的“基础”(最佳实践)的目的是什么?

    它说这是默认环境 但 不过 您不想将程序放入您的基本环境中 那么我到底应该用它做什么呢 我创建的其他环境是否继承自基础环境 基础环境在哪里conda本身被安装 最好使用Miniconda 并安装all将您想要的东西放入单独的环境中 其他环境
  • 如何让 Perl 正则表达式仅在 $1 < $2 时匹配?

    我无法完全开始工作的部分是条件 因为它总是失败 use Test More tests gt 2 my regex qr d d g1 lt g2 FAIL x like 23 36 regex should match unlike 36
  • 用户/角色管理系统的最佳设计? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 这是我多次遇到的软件设计问题 但从未找到理想的解决方案 我现在也再次处理它 许多应用程序需要某种形式的用户 角色管理 您有基本用户 这
  • Chrome 中的 SVG“使用”标签已损坏

    SAP AngularJS 和 Angular Route 具有由 svg sprite 制作的基于图标的导航 所以 我有这样的内联代码 div style height 1 width 1 div
  • `uint64_t` 有什么困难? (从“float”转换组装)

    我现在的情况是需要计算类似的东西size t s size t floorf f 也就是说 参数是浮点数 但它有一个整数值 假设floorf f 足够小 可以准确表示 在优化这个的过程中 我发现了一些有趣的事情 以下是一些转换自float到
  • 如何在 Maple 中加载包?

    我想使用一个名为 ESC 椭圆面计算器的包 可以用Maple上传 创建者的指示是 使用字符编码 ISO 8859 1 ISO Latin 1 另存为文本文件 并使用 读取 命令在 Maple 中加载 我在上传到 Maple 并使用此编码保存
  • Android开发:如何以位图形式打开.dcm文件?

    我目前正在尝试制作一个 android dicom 应用程序 以下代码以 通常 图像格式从 res drawable 打开图片 但不适用于 dcm public class BitmapView extends View public Bi