大家好我想要创建的是C中的一些代码,它允许我分别存储R,G,B值(这将来自图像),我做了一些研究并假设使用结构数组来是最好的方式,但仍然不确定。然后,我希望从这些结构中访问值以执行一些简单的计算。我遇到的问题是开始访问结构/数组。我发现概念部分非常困难,如果有人可以使用一个简单的例子,它不必与我的任务相关,但是对一个结构的一些示例代码3属性将有助于显示如何访问这些值。我也想了解如何使用值加载结构。任何提示或帮助将不胜感激。
答案 0 :(得分:-1)
结构的定义可以是:
struct{
unsigned char r,g,b ;
/* unsigned char holds values 0…255 for 24 bit color */
}rgb;
声明变量:
struct rgb cyan;
分配值:
cyan.r=0;
cyan.g=255;
cyan.b=255;
要打印:
printf("%03d",(cyan.r),… and so on…
1)你可能想要使用指针。
2)使用 typedef 使语法更紧凑。
答案 1 :(得分:-2)
您好您可以实现三维数组来存储RGB值,然后执行所需的操作。 虚拟代码看起来像这样:
#define TOTAL_NO_OF_PIXEL 1080 //For example total 1080 no of pixels are there
int RGBcolor[3][TOTAL_NO_OF_PIXEL];
int main()
{
for(int cnt=0;cnt<TOTAL_NO_OF_PIXEL;cnt++)
{
RGBcolor[0][cnt] = RED;
RGBcolor[1][cnt] = GREEN;
RGBcolor[2][cnt] = BLUE;
}
return 0;
}
希望这有助于。