【发布时间】:2013-05-19 18:10:33
【问题描述】:
无需任何库即可从像素值获取 RGB 通道
我正在尝试获取从图像中读取的每个像素的 RGB 通道。
我通过从图像中读取每个字节来使用 getchar。
所以在我在网上做了一些搜索后,我发现了 BMP 例如颜色数据在 36 字节之后开始,我知道每个通道是 8 位,整个 RGB 是 8 位红色,8 位绿色和8 点蓝色。我的问题是如何从像素值中提取它们?
例如:
pixel = getchar(image);
我可以做些什么来提取这些频道?此外,我在 JAVA 上看到了这个示例,但不知道如何在 C++ 上实现它:
int rgb[] = new int[] {
(argb >> 16) & 0xff, //red
(argb >> 8) & 0xff, //green
(argb ) & 0xff //blue
};
我猜想 argb 是我之前提到的“像素”变量。
谢谢。
【问题讨论】:
-
只需查找“bmp 文件读取”即可。它并没有什么特别之处。
标签: c++ image-processing rgb