我正在尝试将图像的 RGB 像素分别映射到 R、G、B 的二维数组。读取图像时,像素以 {r1,g1,b1,r2,g2,b2...} 的形式存储在 1D 数组中。数组的长度为3*height*width
。二维数组的宽度 X 高度
for(i = 0; i < length; i++) { // length = 3*height*width
image[i][2] = getc(f); // blue pixel
image[i][1] = getc(f); // green pixel
image[i][0] = getc(f); // red pixel
img[count] = (unsigned char)image[i][0];
count += 1;
img[count] = (unsigned char)image[i][1];
count += 1;
img[count] = (unsigned char)image[i][2];
count += 1;
printf("pixel %d : [%d,%d,%d]\n", i+1, image[i][0], image[i][1], image[i][2]);
}
RGB 值在img[]
. 二维数组是 red[][]、green[][] 和 blue[][]。
请帮忙!