【问题标题】:YcbCr image representationYcbCr 图像表示
【发布时间】:2012-10-03 03:32:49
【问题描述】:

我是图像处理领域的新手。我使用过 bmp 图像,但目前我手头有一个问题,需要在进一步处理之前将图像转换为 YCbCr 颜色空间。我已阅读有关 YCbCr 和转换过程的信息,但问题是我不知道如何以图像格式存储 YCbCr 数据以及哪种图像格式将支持它。

我的意思是在 bmp 图像中 rgb 组件以 bgr 格式存储,字节应该是 4 的倍数等,但是 YCbCr 呢?它们是如何表示的?

如果这听起来很蹩脚,我很抱歉。我用谷歌搜索了一下,但问题是我认为我没有朝着正确的方向前进。实际上这是我的最后一个项目,我的时间不多了。

更新:虽然可以使用 tiff 和 jpeg,但实际上不需要将其存储在某些图像容器中。我通过将 rgb 转换为 YCbCr 处理它然后将其逐个像素地转换回 rgb 来解决它。

【问题讨论】:

  • 没有存储未压缩 YCbCr 的标准图像格式,因此请自行制作。 3 个字节就可以了,一个用于 Y,一个用于 Cb,一个用于 Cr。不妨应用 JPEG 转换:en.wikipedia.org/wiki/Ycbcr#JPEG_conversion

标签: c# image-processing image-conversion


【解决方案1】:

两种格式的每个像素只需要三个字节。因此,只要您以某种未压缩的格式(例如 ppm)存储像素,就无需担心转换。写的时候,把 Y 放入 R,Cb int G 和 Cr 分别放入蓝色字节。当您读入这些值时,由您的程序来解释它们 - 大多数图像处理程序的默认解释是将它们视为 RGB,但您可以告诉它以 YCbCr 形式读取它们

如果您选择以某种压缩格式(例如 jpeg)存储它,您读回的值可能与您存储的值不同,但具体取决于您需要的准确性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-17
    • 1970-01-01
    • 2018-08-26
    • 1970-01-01
    • 2021-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多