如何知道char *缓冲区是否包含单色图像?

时间:2014-05-19 08:13:30

标签: c image-processing

我的图像是单色的,而图像则不是。

 unsigned char* buffer //represents the content of the image

我想做以下事情:

if monochromeImage
   do something
else
   do something else

但是如何根据缓冲区判断图像是单色的呢?

2 个答案:

答案 0 :(得分:4)

你不能。

在32位ARGB颜色的图像缓冲区和单色图像之间没有固有的区别。字节是字节,位是位。

但是,在加载文件时,您确实拥有此信息,将其存储在某处以供日后检索是有意义的。

答案 1 :(得分:0)

“二值化”的正确术语可能是“1位颜色深度”或“单色”。如果您可以控制图像加载和存储,请在某处存储标记,表示图像是单色的。如果不这样做,加载代码可能已经为您提供了有关图像的一些元数据吗?