【问题标题】:Difference between jpeg byte array and bitmap byte arrayjpeg字节数组和位图字节数组的区别
【发布时间】:2013-08-09 10:51:31
【问题描述】:

我正在使用 C# 进行一些图像处理,需要帮助了解不同图像格式的原始数据之间的差异。

我正在从相机捕获一个 640x480、30 帧的第二个 RGB 流,我想将其写入磁盘,因为每个帧同时显示并显示在 WPF 画布对象上。

使用 Binary Writer 我可以轻松地将图像的 byte[] 数据写入磁盘,并且可以轻松地将其转换为可写位图以显示在画布上。

我不明白的是这个。 JPEG 的原始数据 (byte[] imageData) 是否与位图的原始数据不同(尺寸更小)?如果是,将每个 RGB 图像转换为 JPEG,然后获取该 JPEG 的字节数组,然后将该信息写入磁盘是否更有意义?

抱歉,如果这听起来我对此有一个简单的看法,但我对这种类型的编程相对了解。提前感谢您的帮助。

【问题讨论】:

  • Jpeg 被压缩,位图没有。我错过了什么吗?
  • Jpeg 99% 的时间都是有损压缩的,位图不是...
  • 这意味着 JPeg 在制作时会丢弃一些(甚至很多)数据。
  • 原始数据与 jpeg 数据不同,就像 Sayse 所说,它是经过压缩的。但是压缩/解压缩原始数据会消耗 cpu 功率,而 jpeg 格式是有损格式,因此会丢失质量。我认为,您应该考虑磁盘大小与记录帧并将其压缩为 jpeg 的 cpu 功率是否重要。
  • 对于“从相机捕获 640x480,每秒 30 帧的 RGB 流”,听起来 JPEG 比原始 RGB 像素更好。 JPEG 肯定会为您节省一些字节。但这取决于您是否可以忍受稍微降低的质量。

标签: c# image type-conversion bytearray jpeg


【解决方案1】:

“原始数据”,即内存中的位,对于 jpeg、bmp 或 png 是相同的,它们仅在图像大小(宽度、高度)和像素格式(rgb、argb 等)方面有所不同。 ..)

【讨论】:

    猜你喜欢
    • 2021-02-14
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多