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

从MemoryStream压缩fo-dicom JPEG图像

於乐
2023-03-14

我希望加载一个dicom图像并将其保存到jpeg,如下面的fo-dicom文档代码所示:

var image = new DicomImage(@"test.dcm");
image.RenderImage().AsBitmap().Save(@"test.jpg");      

但是,我正在从MemoryStream打开dicom文件,我想将jpeg保存为字节数组。这在FO-DICOM中是可能的吗?

共有1个答案

党建义
2023-03-14
private byte[] JpegBytesFromDicomStream(Stream stream)
{
    byte[] result;

    // Open image from Stream using DicomFile class
    DicomFile file = DicomFile.Open(stream);
    DicomImage image = new DicomImage(file.Dataset);

    using (IImage renderedImage = image.RenderImage())
    {
        Bitmap bitmap = renderedImage.AsSharedBitmap();

        // Copy image to byte array using MemoryStream
        using (MemoryStream targetStream = new MemoryStream())
        {
            bitmap.Save(targetStream, ImageFormat.Jpeg);
            result = targetStream.ToArray();
        }
    }

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

  • 我一直在计算图像的未压缩和压缩文件大小。这对我来说总是导致压缩图像比我预期的未压缩图像小。如果图像包含大量不同的颜色,则存储调色板会占用大量空间,还需要更多位来存储每个代码。然而,我的问题是,压缩方法是否可能导致比未压缩的RGB图像更大的文件。对于这种压缩方法仍然有用的、总共包含k种不同颜色的最小正方形RGB图像,其大小(像素)是多少?因此,我们想要找到,对于给定的k值,找到最小整数n,对于该整数

  • 问题内容: 我正在通过wifi或移动网络通过网络发送图像,以将其存储在服务器中并再次检索。我已经这样做了,但是由于相机拍摄的图像太大,这使我的应用程序变慢,只是要指出我正在打开图库并从那里拍摄照片,而不是直接从应用程序拍摄照片。我注意到,从相机和图库中获取的来自whatsapp的图像已被压缩到大约50%。100kb。 目前,我的代码获取一个文件,并将其转换为字节,然后发送。这是获取文件并将其转换为

  • 我正在使用Python的Pillow库来读取图像文件。如何使用哈夫曼编码进行压缩和解压缩?以下是说明: 您已经获得了一组示例图像,您的目标是在不丢失任何可感知信息的情况下尽可能压缩它们——解压后,它们应该看起来与原始图像相同。图像本质上存储为一系列颜色点,其中每个点表示为红色、绿色和蓝色(rgb)的组合。rgb值的每个分量范围在0-255之间,因此例如:(100, 0, 200)表示紫色。使用固定

  • 本文向大家介绍Android图片压缩(质量压缩和尺寸压缩),包括了Android图片压缩(质量压缩和尺寸压缩)的使用技巧和注意事项,需要的朋友参考一下 在网上调查了图片压缩的方法并实装后,大致上可以认为有两类压缩:质量压缩(不改变图片的尺寸)和尺寸压缩(相当于是像素上的压缩);质量压缩一般可用于上传大图前的处理,这样就可以节省一定的流量,毕竟现在的手机拍照都能达到3M左右了,尺寸压缩一般可用于生成

  • compressImage 压缩图片接口(安卓10.0.12版本支持,ios 10.0.15版本支持) 使用方法 AlipayJSBridge.call('compressImage', { apFilePaths: ["https://resource/apmlcc0ed184daffc5a0d8da86b2f518cf7b.image"], compressLevel: 4 }, f