当前位置: 首页 > 知识库问答 >
问题:

无法使用dcmtk将单色dicom图像jpeg 2000有损转换为jpeg文件

孔斌
2023-03-14

我无法使用dcmtk库将jpeg 2000有损dicom转换为jpeg文件。 它返回空像素数据。 我使用下面的DCMTKImage方法,它为这些图像返回零。

int DCMTKImage :: GetImageFramePixelDataLength(int aiFrameIndex)
{
  if(aiFrameIndex >= 0 && 
       this->PtrArrImageFrame != 0 )
    {
        return this->PtrArrImageFrame[aiFrameIndex].oVectorJPEGData.size(); // miPixelDataLen;
    }
    return 0;
}

下面是主要的dicom标签值。

当我尝试使用bower模块“jpeg-lossless-decoder.js”在Java脚本中解码这幅图像时,要在查看器中显示这幅图像,它会抛出一个错误“not a JPEG file”。 甚至我尝试了PNG解码器(UPNG),它抛出“不是一个PNG文件”。 我正在使用dcmtk库。 谁能帮我这个。

谢谢。

共有1个答案

夏昌胤
2023-03-14

假设您使用的是免费版本的DCMTK,答案相当简单。 JPEG2000编解码器是DCMTK的商业闭源扩展。 因此,开源版本无法从JPEG2000解压缩到Little Endian,而Little Endian是将其编码为JPEG有损/无损的先决条件。

 类似资料:
  • 我正在使用Java压缩一个图像。

  • 我可以在Irfanview中打开原始的DICOM文件,这工作得很好,但是当我从DICOM文件中获取比特流并将其保存为文件,并尝试在Irfanview中打开它时,我得到一个错误“不支持JPEG进程/压缩:SOF类型0xC3” 我已经检查了字节流是否与DICOM文件的字节流相匹配,并且检查了它是否以FF D8 FF E0 00 10 4a 46 49 46开头,这似乎是一个标准的JPEG头。 在DIC

  • 我正在尝试在一个新的DICOM项目中使用dcm4che(最近的版本2.0.29)。我在尝试将DICOM文件转换为JPEG时出现以下错误。我找不到包含com.sun.medialib.codec.jpeg.decoder类的jar文件。谁能给我一个主意在哪能找到它? 这里是我的代码: 和控制台输出:

  • 在DICOM规范中,传输语法之一是,定义为。 是否可以在Python中读或写这种格式?查看文件中的枕头,我不清楚是否支持这种格式。 这个帖子有点相关。

  • 我试图创建一个简单的WinForms查看器来显示NOVARAD pacs系统中生成的DICOM文件。我正在使用他们GitHub页面中的以下代码: 当我运行代码时,我得到以下错误: DICOM.Imaging.codec.DICOMcodecException:“不支持使用传输语法解码数据集:JPEG 2000图像压缩(仅无损)。” 我假设我需要从JPEG2000解压。fi-dicom不能做到这一点

  • 问题内容: 我可以设置属性并创建dicom文件,但是不能将图像写入dicom文件吗? 问题答案: 我已经尝试过使用拥有的图像并且它可以工作,但是我希望它不适用于RGB图像。像这样的东西 编辑1 我假设您的图片在这里有一个无符号的短数据缓冲区。 要处理其他数据缓冲区,应检查type,相应地进行强制转换,然后转换为字节数组。对于字节缓冲区,应该很容易 然后 您的图片在哪里0 应该返回一个字节数组

  • 问题内容: 如何使用Java将Dicom文件(.dcm)转换为jpeg图像?这是我的代码: 我在运行项目时遇到以下错误 请帮助并提前感谢 问题答案: 这是使用dcm4che 2将DICOM转换为JPEG的链接 以下是我的代码,效果很好,我将其与导入一起放置,因此可能用完了。 用于运行它的罐子 dcm4che-imageio-2.0.28.jar dcm4che-image-2.0.28.jar j

  • 我希望加载一个dicom图像并将其保存到jpeg,如下面的fo-dicom文档代码所示: 但是,我正在从MemoryStream打开dicom文件,我想将jpeg保存为字节数组。这在FO-DICOM中是可能的吗?