3

我正在尝试修改具有从图像文件创建 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 请求填充字节数组。

4

1 回答 1

2

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

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

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

于 2011-10-13T18:25:47.837 回答