【问题标题】:Read RGB triplets of JPEG files in C在 C 中读取 JPEG 文件的 RGB 三元组
【发布时间】:2013-05-23 00:02:01
【问题描述】:

要读取 bmp 文件,我们可以使用 http://msdn.microsoft.com/en-us/library/dd183376(VS.85).aspx 作为头文件,然后得到 rgb 三元组。如何获取 jpeg 文件的 rgb 三元组,有没有这样的头文件可用。如有链接请分享。

【问题讨论】:

  • stackoverflow.com/a/16785094/193892 在我看来是一个正确的答案。
  • 有趣的是,您提供的链接讨论了 JPEG 和 PNG 支持(BI_JPEG 和 BI_PNG 标志)
  • @mvp,真的!用户先生,您应该仔细阅读您自己的链接...

标签: c++ c image jpeg rgb


【解决方案1】:

检查这个库:libjpeg。该库实现JPEG图像编码、解码、 和转码。

【讨论】:

    【解决方案2】:

    JPEG 文件格式不直接存储 rgb 三元组,但它使用某种图像压缩。该文件实际上包含 64 个(如果我没记错的话)像素块,这些像素块由定义实际颜色的余弦模式组成。

    您确实应该使用库(libjpeg、imagemagick、gd、...例如,取决于您的用例)来读取和解码文件并在内存中生成 rgb 三元组。

    【讨论】:

      【解决方案3】:

      根据this question on MSDN的回答,你可以使用GDI+组件,它不仅可以加载BMP,还可以加载JPG等图片格式。从中,你会得到一个内存位图。

      这里是an example,了解如何做到这一点。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-24
        • 2015-10-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-09
        相关资源
        最近更新 更多