首页 > 解决方案 > 使用 Imebra 库保存 DICOM 图像

问题描述

在我的 Android 项目中,我目前正在使用 Imebra 库从 dicom 文件中提取图像帧并将它们保存为位图。之后,我使用 ffmpeg 从这些帧创建视频。到目前为止,每件事都运行良好,但我唯一担心的是我是否会通过使用 Imebra 库中的以下方法失去任何质量或信息:

Image image = imageIterator.next();
TransformsChain chain = transform(image);
Bitmap bitmap = getBitmap(image, chain);

此外,如果我通过将图像帧保存为位图来使用任何信息,我可以将它们保存为原始格式(我的意思是原始imebra.Image,我不确定这是否与 .raw 格式相同?)并直接与 ffmpeg 一起使用?

标签: dicomimebra

解决方案


您获得的图像DrawBitmap::getBitmap始终是每像素 24 位的 RGB 图像:如果图像使用每个颜色通道超过 8 位,您将丢失信息(例如,16 位灰度图像将丢失像素信息的低 8 位)。

DrawBitmap::getBitmap通过避免使用和直接应用自己的变换(VOI/LUT、颜色变换、高位变换),您可以获得更高的每像素位数。在您拥有Image所需的色彩空间和每像素位之后,然后使用Image::GetReadingDataHandler访问图像底层内存并为 ffmpeg 生成位图。

披露:我是 Imebra 的作者。


推荐阅读