c++ - YCbCr 直接从 jpeg 加载器输入

标签 c++ image yuv libjpeg-turbo turbojpeg

我需要从 JPEG 图像中提取 CbCr 色度数据,用于图像分析。 (在 C/C++ 中)

  1. 据我了解,JPEG“原始数据”是经过压缩的 YCbCr。我的这个假设是否正确?如何针对给定图像验证这一点?

  2. 我目前正在使用 TubroJpeg 库。 tjDecompressToYUV 的文档说:

Decompress a JPEG image to a YUV planar image. This function performs JPEG but leaves out the color conversion step, so a planar YUV is generated instead of an RGB image.

我对这个函数的输出有点困惑。我认为 YUV 和 YCbCr 是略有不同的颜色空间。这是否意味着对于 UV 色度我需要操纵输出,并且输出“UV”分量实际上是 CbCr 分量?

最佳答案

JPEG 标准不了解颜色空间。它只是压缩颜色分量。

If 是指定颜色格式的特定文件格式(例如 JFIF、EXIF、ADOBE)。在大多数情况下,它是 YCbCR。在某些情况下它不是(一些 adobe)。

这个链接可以解释混淆

http://en.wikipedia.org/wiki/Yuv#Confusion_with_Y.27CbCr

YUV 和 YCbCR 相似,但又不同。如果没有颜色转换,我不得不相信他们把YUV和YCbCr搞混了。

关于c++ - YCbCr 直接从 jpeg 加载器输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22915682/

相关文章:

ios - iOS中使用glsl将yv12转rgb,附结果图

python PIL YCbCr 支持

Boost.Range 的 C++ 元组 - 获取元素类型的元组?

JavaScript:不断切换图像源

iphone - 旧图像在 iOS 应用程序中替换为新图像后显示

android - ListView 在图像上使用 AsynTask 滚动到底部

c++ - Blackmagic 帧 : convert from yuv to RGB to use in openCV

C++ 使用 shared_ptr 连续分配内存

c++ - 渲染场景后让 CPU 休息

c++ - 函数指针、Functor 还是 Lambda?