gpt4 book ai didi

c - 如何在 C 中将 jpg 转换为 yuv?

转载 作者:太空宇宙 更新时间:2023-11-04 05:17:41 25 4
gpt4 key购买 nike

尽管这种性质的问题听起来非常相似,但我在用 C 语言将 jpg 图像转换为 yuv 时遇到了问题(不使用 opencv)。

这是我目前的理解,如何解决这个问题:

  1. Identify the structure of file formats for jpg and yuv. i.e what each byte in the file actually contains. This is what I think jpg format looks like.

  2. With the above structure I tried to read a jpg file and tried to decipher its 18th and 19th bytes. I did type cast them to both char and int but I don`t get any meaningful values for width and height of the image.

  3. Once I have read these values, I should be able to convert them from jpg to yuv. I was looking at this resource.

  4. Appropriately, construct yuv image and write it to a (.yuv) file.

请为我指出合适的资源来帮助我。我会不断更新我在这篇文章上的进展。提前致谢。

最佳答案

通常图像已经存储在 YUV 中(或者,更准确地说:YCbCr)。在读取文件时,jpeg 阅读器通常会将 YUV 转换为 RGB。转换回来会稍微降低质量。

在 libTurboJpeg ( http://libjpeg-turbo.virtualgl.org/ ) 中,您可以在不进行颜色转换的情况下读取 jpeg。检查https://github.com/libjpeg-turbo/libjpeg-turbo/blob/master/turbojpeg.h -它具有 tjDecompressToYUV 函数,可在 3 个不同的输出缓冲区上为您提供 3 个色彩空间。

关于c - 如何在 C 中将 jpg 转换为 yuv?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31829701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com