与彩色/ Bgr32图像相比,编码灰度/ Gray16图像非常慢

时间:2014-02-18 10:04:48

标签: c# image image-processing encoding jpeg

我正在对进入的实时图像进行编码,这些图像是Gray16图像或Bgr32图像。 我正在尝试使用JPEGEncoding降低现场质量,并将字节数保存到内存流中X时间。

Bgr32图像以<2ms编码,而Gray16图像约20-30ms。我已经尝试了所有默认编码器(Jpeg,gif,png等),它们都给出了相同的结果。

这是正常行为还是有问题?我能改进什么?

using (MemoryStream oMemStream = new MemoryStream())
{
    Debug.WriteLine("Before: " + oWatch.ElapsedMilliseconds);
    JpegBitmapEncoder oEncoder = new JpegBitmapEncoder();
    oEncoder.QualityLevel = 75;

    BtmapSource = BitmapSource.Create(640, 480, 96, 96, System.Windows.Media.PixelFormats.Gray16, null, bPixels, 640 * System.Windows.Media.PixelFormats.Gray16.BitsPerPixel / 8);

    var BitmapFrame oFrame = BitmapFrame.Create(BtmapSource);
    oEncoder.Frames.Add(oFrame);
    oEncoder.Save(oMemStream);

    oWatch.Stop();

    Debug.WriteLine("After: " + oWatch.ElapsedMilliseconds);
}

0 个答案:

没有答案