我已经尝试使用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。
答案 0 :(得分:1)
看起来您使用的是LEADTOOLS静态图像支持,而不是LEADTOOLS Multimedia SDK。我们提供了专门用于从DICOM文件中提取视频数据的DirectShow DICOM Reader Filter。
如果您希望对DICOM文件中的每个帧执行某些操作,可以将LEADTOOLS Video Callback filter与播放或转换控件结合使用。如果你只想简单回放,这段代码就可以了:
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有任何疑问或疑虑,请随时直接与我们联系。
答案 1 :(得分:0)
我使用FO-DICOM和Leadtool完成了它。现在我可以播放1080p DICOM视频@ 30fps。 FO-DICOM。