Как преобразовать беззнаковый char в int?

Я получаю эту ошибку:

Невозможно инициализировать переменную типа "unsigned char" с помощью rvalue типа "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, и я не знаю, как это сделать. Пожалуйста, скажите, если вы не понимаете вопрос.


person cornstach    schedule 07.05.2018    source источник
comment
Cannot initialize a variable of type 'unsigned char' with an rvalue of type 'unsigned char *' Ну, наверное, должно быть так: unsigned char *imgdata = image.data(Glo_x[i][j],Glo_y[i][j]); Кстати, что такое image? Какую библиотеку вы используете?   -  person DimChtz    schedule 07.05.2018
comment
Да, я пробовал это, а затем мне пришлось изменить и вторую строку, что дало много ошибок в библиотеке CImg (не знаю, почему)   -  person cornstach    schedule 07.05.2018
comment
если image.data возвращает char*, то перед ним нужно поставить *. unsigned char imgdata = *image.data(Glo_x[i][j],Glo_y[i][j]);   -  person Jim Rhodes    schedule 07.05.2018
comment
Этот image.data(Glo_x[i][j],Glo_y[i][j]) вернет указатель на пиксель.   -  person DimChtz    schedule 07.05.2018
comment
Ах, я понимаю, что вы имеете в виду! Проблема в том, как я могу превратить его в int? Когда я делаю третью строчку, она не работает...   -  person cornstach    schedule 07.05.2018
comment
Итак, вы пытаетесь получить значение RGB пикселя с помощью библиотеки CImg? Является ли ваш вопрос дубликатом stackoverflow .com/questions/3291923/ ?   -  person Martin Véronneau    schedule 07.05.2018
comment
@MartinVéronneau нет, мне нужно значение уровня серого в диапазоне от 0 до 255 для пикселя с помощью библиотеки CImg. Это не дубликат.   -  person cornstach    schedule 07.05.2018
comment
Предоставьте минимальный, полный, поддающийся проверке пример в соответствии с требованиями правил переполнения стека. Он должен начинаться со строки #include и включать весь код. Спасибо.   -  person Mark Setchell    schedule 07.05.2018
comment
@cornstach Посмотрите на этот комментарий в том же вопросе: stackoverflow.com/questions/3291923/   -  person Martin Véronneau    schedule 07.05.2018
comment
@MarkSetchell Я не могу опубликовать весь код, так как я делаю этот проект для федерации, и код будет их собственностью, извините.   -  person cornstach    schedule 07.05.2018
comment
@MartinVéronneau а, теперь я увидел комментарий, я попробую, спасибо :)   -  person cornstach    schedule 07.05.2018