C# Jpeg 转Dicom,Dicom 转Jpeg
作者:野牛程序员:2023-12-25 12:04:35C#阅读 3321
使用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图像