C++ 如何将无符号字符转换为整数?

C++ 如何将无符号字符转换为整数?,c++,cimg,C++,Cimg,我得到了这个错误: 无法使用“unsigned char*”类型的右值初始化“unsigned char”类型的变量 当我试图编译代码时。我在这一行得到了错误: unsigned char imgdata = image.data(Glo_x[i][j],Glo_y[i][j]); 循环中的代码是 unsigned char imgdata = image.data(Glo_x[i][j],Glo_y[i][j]); int dataset = (int)(imgdata); int samp

我得到了这个错误:

无法使用“unsigned char*”类型的右值初始化“unsigned char”类型的变量

当我试图编译代码时。我在这一行得到了错误:

unsigned char imgdata = image.data(Glo_x[i][j],Glo_y[i][j]);
循环中的代码是

unsigned char imgdata = image.data(Glo_x[i][j],Glo_y[i][j]);
int dataset = (int)(imgdata);
int sample_size = pow(filter_width,2);
double mean = mean + dataset/sample_size;
double variance = variance + (dataset - mean) * 2;
var = variance / sample_size; here

我真的是一个新的编码,所以请不要判断。问题是我想取图像中的像素值,然后用它来计算平均值。但是我必须把值设为int,我不知道怎么做。如果你不理解这个问题,请告诉我。

不能用类型为“unsigned char*”的右值初始化类型为“unsigned char”的变量。
可能是:
unsigned char*imgdata=image.data(Glo_x[i][j],Glo_y[i][j])顺便问一下,什么是
图像
?你在使用哪个库?是的,我试过了,然后我也改变了第二行,这导致了CImg库中的很多错误(不知道为什么)。如果
图像。数据
返回一个
字符*
,那么你将要把
*
放在它前面<代码>无符号字符imgdata=*image.data(Glo_x[i][j],Glo_y[i][j])
这个
image.data(Glo_x[i][j],Glo_y[i][j])
将返回一个指向像素的指针。那么,您正在尝试使用CImg库获取像素的RGB值?你的问题是重复的吗?