C# Jpeg 转Dicom,Dicom 转Jpeg
作者:野牛程序员:2023-12-25 12:04:35C#阅读 3357
使用C#进行JPEG到DICOM和DICOM到JPEG的转换涉及到DICOM图像和JPEG图像之间的编解码操作。可以使用第三方库来简化这些任务。在C#中,开源的库如fo-dicom和Dcmtk提供了处理DICOM图像的功能,而System.Drawing命名空间则可用于JPEG图像的处理。
首先,确保已经安装了fo-dicom和Dcmtk的NuGet包。然后,可以使用以下代码进行JPEG到DICOM和DICOM到JPEG的转换:
using System;
using System.Drawing;
using System.Drawing.Imaging;
using Dicom;
using Dicom.Imaging;
using Dicom.Imaging.Codec;
using Dicom.IO;
class Program
{
static void Main()
{
// JPEG to DICOM
string jpegFilePath = "path/to/your/input/image.jpg";
string dicomFilePath = "path/to/your/output/image.dcm";
ConvertJpegToDicom(jpegFilePath, dicomFilePath);
// DICOM to JPEG
string dicomFilePath2 = "path/to/your/input/image.dcm";
string jpegFilePath2 = "path/to/your/output/image.jpg";
ConvertDicomToJpeg(dicomFilePath2, jpegFilePath2);
}
static void ConvertJpegToDicom(string jpegFilePath, string dicomFilePath)
{
DicomFile dicomFile = new DicomFile();
DicomImage dicomImage;
using (var bitmap = new Bitmap(jpegFilePath))
{
dicomImage = new DicomImage(bitmap);
}
dicomFile.Dataset.AddOrUpdate(DicomTag.PixelData, dicomImage.PixelData);
dicomFile.Save(dicomFilePath);
}
static void ConvertDicomToJpeg(string dicomFilePath, string jpegFilePath)
{
DicomFile dicomFile = DicomFile.Open(dicomFilePath);
DicomImage dicomImage = new DicomImage(dicomFile.Dataset);
using (var bitmap = dicomImage.RenderImage().As<Bitmap>())
{
bitmap.Save(jpegFilePath, ImageFormat.Jpeg);
}
}
}这个例子使用了fo-dicom来处理DICOM文件,以及System.Drawing来处理JPEG文件。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:C#怎么实现文件下载功能
- 下一篇:C#实现扣取不同尺寸dicom图像
