从libjpeg中的yuv中提取灰度
Posted
技术标签:
【中文标题】从libjpeg中的yuv中提取灰度【英文标题】:extract Grayscale from yuv in libjpeg 【发布时间】:2014-04-27 12:43:52 【问题描述】:在 TurboJpeg 或底层 libJpeg API 上 - 是否有一个简单的函数用于从 Ycbcr 中提取 Y 分量(在我已经阅读了图像之后)?
我知道我可以遍历数据并提取字节。这不是已经实现了吗?
【问题讨论】:
【参考方案1】:解压/解码时,使用TJPF_GRAY
格式,它会丢弃颜色信息,只保留Y(发光)。
请参阅this part of the API 以供参考,以及that part if you are willing to transform it 或this function,如果您愿意将其直接解码为灰度图像。
【讨论】:
所以,如果我需要 YUV 和 Y 分量,那么我将其加载为 TJPF_GRAY,然后使用 tjTransform 来获取 Y 分量。对吗?TJPF_GRAY
等于 Y 分量。如果您同时需要 YUV 和 Y,您必须将其解码为 YUV,并使用 tjDecodeYUV
转换为每像素 1 个字节的“RGB”,即发光/灰色/Y 部分。
为此我需要新的 API 1.3.1
@mousomer 你甚至可能需要 1.4 版本,但由于它向后兼容,升级它应该没有问题。
@mousomer 我建议你联系项目的维护者(information@libjpeg-turbo.org),我上次联系他时有一些很好的经验。以上是关于从libjpeg中的yuv中提取灰度的主要内容,如果未能解决你的问题,请参考以下文章
使用libjpeg C ++ Library从JPEG图像中提取RGB