Вы должны иметь доступ к лямбде, как это:
auto& pixel=[rawData, width](int row, int col) {
return rawData[col+width*row];};
Кроме того, вы можете написать функцию, которая делает то же самое. Лямбды - это короткие и удобные способы создания функции.
BYTE& pixel(vector<BYTE>& rawData, int width, int row, int col) {
return rawData[col+width*row];
};
Чтобы использовать лямбду:
auto value_at_lower_right = pixel(479,639);
Для использования функции:
BYTE value_at_lower_right = pixel(rawData, width, 479,639);
Они также могут использоваться на левой стороне для изменения значения на изображении:
pixel(rawData, width, 479,639) = 127;
// or, for the lambda
pixel(479,639) = 127;