【问题标题】:reading black and white pixels as an array from jpeg in c and c++ [closed]从c和c ++中的jpeg读取黑白像素作为数组[关闭]
【发布时间】:2015-02-14 06:53:53
【问题描述】:

我正在尝试学习如何将 jpeg 图像读取为 c++ 或 c 中的像素数组。到目前为止,我了解到我必须包含一个外部库,例如 libjpg.h。

我被告知 jpeg 格式为 RGB 结构,其中每个像素给出 3 个值。这是真的?如果是这样,我将如何读取纯黑白图像的值?

这个问题的目的是我试图将指针分配给黑色图片中白色方块的右上角。 如果有人能告诉我如何读出在这种情况下给我的价值,那么我可以分配这个指针,我会很感激的。

【问题讨论】:

  • 您可以从libjpeg's website获取信息。它包含文档和示例代码。
  • 老兄!至少让你的循环组织起来!努力吧兄弟
  • 对不起,我只是想说我了解数组的结构,所以人们不必为此浪费时间。我将删除循环

标签: c++ c arrays image


【解决方案1】:

假设您使用 libjpeg 运行。您将分配一个缓冲区,然后调用jpeg_read_scanlines 足够的次数以将所有解压缩的图像数据放入内存。您可以单独读取扫描线(行)并根据需要重新格式化它们。如果图像是灰度图像,则 RGB 值将全部相等,因此您只需读取其中一个即可。

Paul Bourke's site 有一些不错的 libjpeg 使用示例。

【讨论】:

  • 非常感谢。该示例站点确实有更清晰的示例。 libjpg 网页很难导航。如果我不是那么迷茫,我就不会问。缓冲使头脑朝着减压方向发展。非常感谢您的患者。我对此很陌生,知道菜鸟很难相处。
  • 郑重声明,我强烈不同意社区共识,即这太宽泛了。这个问题并没有以最好的方式表达,但是由于您提到了 libjpeg,您似乎至少已经开始寻找解决问题的方法。希望我能帮助你走得更远。
猜你喜欢
  • 1970-01-01
  • 2010-10-16
  • 1970-01-01
  • 2010-12-27
  • 2010-09-24
  • 1970-01-01
  • 2013-03-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多