从字节数组创建CImg <uint8_t>?</uint8_t>

时间:2011-10-13 18:09:32

标签: c++ cimg phash

我正在尝试修改具有从图像文件创建CImg实例的函数的C ++库,而不是使用字节数组。这可能吗?我找到了一种似乎允许它的方法......

CImg  ( const t *const  values,  
  const unsigned int  size_x,  
  const unsigned int  size_y = 1,  
  const unsigned int  size_z = 1,  
  const unsigned int  size_c = 1,  
  const bool  is_shared = false  
) 

...但由于我所拥有的只是字节数组,因此我没有源图像的尺寸。

更新后发表评论 这是尝试对pHash库进行修改,该库使用此处定义的CImg类http://cimg.sourceforge.net/reference/structcimg__library_1_1CImg.html

通过源图像的http请求填充字节数组。

1 个答案:

答案 0 :(得分:2)

如果您的字节数组包含整个图像文件的副本(而不仅仅是位图部分),那么您可以从标题中读取尺寸。

请参阅BITMAPFILEHEADERBITMAPINFOHEADER(当然,对于其他格式,例如PNG或JPEG,您需要相应的标题)。

例如,这将允许您从网络或应用程序资源段查看图像,而无需先将其写入磁盘。