C++ 如何将无符号字符转换为整数?
我得到了这个错误: 无法使用“unsigned char*”类型的右值初始化“unsigned char”类型的变量 当我试图编译代码时。我在这一行得到了错误: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 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值?你的问题是重复的吗?