2

我已经尝试使用 Leadtool SDK 播放 1080p DICOM 视频@30fps,但我无法从 DICOM 文件中读取图像,从 DICOM 文件中获取图像需要很长时间。

如果我们必须达到 30fps 的帧率,那么 Image 应该在 33 毫秒内被读取,因为 33 毫秒是 30fps 帧率的两帧之间的时间。引导工具花费超过 50 毫秒来读取 1080p 的单个图像/帧。

因此,我无法为 1080p 视频实现 30fps 帧速率。

Leadtool 可以读取 720p 视频文件,没有任何问题,只是 1080p 高清视频有问题。

我正在使用下面的代码来获取图像。

RasterImage image = _Dataset.GetImage(null, count++, 0,
                                                 _DicomImageInformation.IsGray ? RasterByteOrder.Gray : RasterByteOrder.Bgr | RasterByteOrder.Rgb,
                                                 DicomGetImageFlags.None | DicomGetImageFlags.AutoLoadOverlays);

拜托,有人可以建议我为此提供任何解决方案,或者有人知道任何 DICOM 库可以播放 1080p DICOM 视频@30fps。

4

2 回答 2

1

看起来您正在使用 LEADTOOLS 静止图像支持而不是 LEADTOOLS 多媒体 SDK。我们提供了一个 DirectShow DICOM 阅读器过滤器,专为从 DICOM 文件中提取视频数据而设计。

如果您希望对 DICOM 文件中的每一帧进行处理,您可以将LEADTOOLS 视频回调过滤器与播放或转换控件结合使用。如果你只是想要简单的播放,这段代码可以做到:

   private Leadtools.Multimedia.PlayCtrl _playctrl;

   _playctrl = new Leadtools.Multimedia.PlayCtrl();
   _playctrl.AutoStart = false;
   _playctrl.Location = new System.Drawing.Point(10, 67);
   _playctrl.Name = "_playctrl";
   _playctrl.Size = new System.Drawing.Size(325, 283);
   _playctrl.SourceFile = @"C:\Users\Public\Documents\LEADTOOLS Images\MR.dcm";
   this.Controls.Add(_playctrl);
   _playctrl.Run();

如果您对 LEADTOOLS 的使用还有其他问题或疑虑,请随时直接与我们联系。

于 2016-08-29T15:04:47.927 回答
0

我已经结合使用 FO-DICOM 和 Leadtool 完成了它。现在我可以播放 1080p DICOM 视频@30fps。FO-DICOM。

于 2016-10-07T05:43:46.400 回答