【问题标题】:Reading grayscale .jpeg image in C++ without using external libraries?在不使用外部库的情况下在 C++ 中读取灰度 .jpeg 图像?
【发布时间】:2014-03-08 15:53:49
【问题描述】:

我是初学者。

我需要知道是否有任何方法可以读取灰度 .jpeg 图像并在 C++ 中生成像素数组,而无需使用外部图像处理库。如果可以,那怎么做?

我已经阅读了与此相关的其他答案,但他们都建议使用外部库。

另外,我只需要生成包含 (0-255) 之间值的像素数组。

【问题讨论】:

  • 查看 libjpeg 的示例代码。
  • 为什么要避免使用外部库并重新发明它们?
  • @BasileStarynkevitch 正如我所提到的,我对此很陌生,可能我不知道我在说什么。我只是在寻找任何简单的方法来避免阅读文档和外部源代码。
  • @Till 你能给我确切的链接吗?谢谢。
  • 阅读文档和现有源代码比重新设计自己的库、对其进行编码、调试......

标签: c++ image image-processing


【解决方案1】:

是的,您可以读取它,但是您还必须对输入进行解码以获得原始像素。您将必须读取文件中的标题,并且一旦开始读取原始数据,您将必须应用逆 DCT(离散余弦变换)来获取原始像素。这就是为什么,最好使用外部库来读取图像。

【讨论】:

  • 您认为哪个库最容易使用?
  • libjpeg 是显而易见的选择。但是,根据您的应用程序,您可能想要使用 OpenCV 或 ImageMagick 或其他任何您喜欢的东西。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-16
  • 2017-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多