【问题标题】:How to get the jpeg image array from an unsigned char* array?如何从 unsigned char* 数组中获取 jpeg 图像数组?
【发布时间】:2016-11-25 03:02:20
【问题描述】:

我正在使用 libjpeg9 进行 android 原生开发。我从 android 相机获得的图像数据以 jpeg 格式压缩。然后将数据作为 unsigned char* 数组传输到本机 c++ 函数。根据libjpeg9的函数jpeg_mem_src JPP((j_decompress_ptr cinfo,unsigned char * inbuffer,unsigned long insize))的要求,需要提供数组的大小,即'inbuffer'参数。

据我所知,sizeof 函数不能用于获取数组的大小,因为它只是一个指针。我们也不想改变我们的 c++ 函数的接口来传递数组的大小。

所以我想从 jpeg 的标题中获取数组的大小。有谁知道我可以得到这个 jpeg 图像数组大小的标题的位置吗?

任何帮助将不胜感激!

【问题讨论】:

  • 您是在问如何从 JPEG 文件(数组)中提取 JPEG 文件(数组)的大小?该信息不太可能存在——为什么有人会在文件中存储文件的长度? -- 并且咨询this 似乎证实了这种怀疑。
  • Re "我们也不想改变我们的c++函数的接口来传递数组的大小",把数组传递给函数是没有意义的也没有传递它的长度(除非数组是 nul 终止的或类似的,这里不是这种情况)。
  • @ikegami,谢谢您的回复!我们不想改变我们的c++函数的接口的原因是我们使用opencv函数imdecode来解压我们从android相机得到的jpeg图像。这不需要提供数组的大小。但是,我们意识到imdecode太耗时了,所以我们想用libjpeg来代替这个功能。有人说 imdecode 也使用 libjpeg。这是真的吗?

标签: android c++ c image libjpeg


【解决方案1】:

有谁知道我可以得到这个 jpeg 图像数组大小的标题的位置吗?

没有。

任何帮助将不胜感激!

改变你的c++函数的接口来传递数组的大小。

【讨论】:

  • 坏消息 :( 非常感谢!
猜你喜欢
  • 2013-05-16
  • 2021-12-06
  • 1970-01-01
  • 1970-01-01
  • 2020-10-11
  • 2012-04-15
  • 2015-09-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多