基本上,我试图学习如何手动打开图像而无需使用LIBRARIES并查看RGB内容。从C++中读取PNG中的RGB值
我想这样做,所以我可以计算出RGB的色调和饱和度以写回二维数组图像。
到目前为止,我得到这个:
#include <iostream>
#include <stdio.h> /* printf */
#include <math.h> /* acos */
#include <fstream> /* for file I/O */
using namespace std;
int main() {
FILE* fp = NULL;
fp = fopen("soccerball.png", "rb");
cout << "done" << endl;
return 0;
}
我知道这是不是很多,因为我已经习惯了Python的。但我真的不知道从哪里开始。在互联网上似乎没有这样的例子。
所以我看了一张图片。现在,我想是这样的:
IMG [高度] [宽度]
,所以我可以
IMG_R [H] [W],img_g [H] [W] ,img_b [h] [w]
所以我可以使用这些值来计算相同格式的Hue 2d数组。
img_hue [H] [W]
感谢
你知道BMP比没有库的PNG更容易阅读吗? –
@AndreasRejbrand我是第二。 BMP是开始处理原始图像数据的好地方。然后GIF来感受LZW,然后是PNG。没有一些认真的努力,JPEG不会发生,它是迄今为止最受惩罚的。 – tadman
我可以轻松地将BMP转换回PNG吗? – hiquetj