Я новичок в c ++ и прохожу курс обработки изображений. У меня есть задание о чтении ppm-файла и преобразовании ppm в оттенки серого. Я могу прочитать формат файла, ширину, высоту и максимальное значение (кстати, я использовал stringstream для чтения построчно), но не могу прочитать данные (пиксели) файла ppm. Если кто-нибудь может мне помочь, это было бы здорово. Как я могу прочитать данные файла ppm, используя stringstream?
bool Image::read_pnm(const std::string& filename) const{
if (m_n_channels == 1){
string extended_name = filename + ".ppm";
ifstream input(extended_name.c_str(), std::ios::in | std::ios::binary);
string line;
getline(input,line);
/* This is for the first line (file format or magic number)*/
if (line != "P6" ) {
cout << "Error has occured. Unexpected file format." << endl;
return false;
}
cout << line << endl; /* prints file format line*/
getline(input, line);
/* This is for read the second line (comment line)*/
while (line[0] == '#') {
getline(input, line);
}
cout << line << endl; /* prints width, height and max value*/
}