Конвертировать черно-белое изображение малого размера в матрицу того же размера на C++

101
12 августа 2019, 02:30

Допустим есть черно-белое изображение размера 10x10 пикселей, то его нужно перевести в матрицу 10x10 в которой черному цвету будет соответствовать 1, а белому 0 или можно использовать 1 и -1 не важно собственно (что-то из этого). Желательно на языке C++.

unsigned char* readBMP(const char* filename)
{
int i;
FILE* f = fopen(filename, "rb");
unsigned char info[54];
fread(info, sizeof(unsigned char), 54, f); // read the 54-byte header
// extract image height and width from header
int width = *(int*)&info[18];
int height = *(int*)&info[22];
int size = 3 * width * height;
unsigned char* data = new unsigned char[size]; // allocate 3 bytes per pixel
fread(data, sizeof(unsigned char), size, f); // read the rest of the data at once
fclose(f);
for (i = 0; i < size; i += 3)
{
    unsigned char tmp = data[i];
    data[i] = data[i + 2];
    data[i + 2] = tmp;
}
for (int i = 0; i < width; i++) {
    for (int j = 0; j < height; j++) {
        cout << "R: " << (int)data[3 * (i * width + j)] << "; G: " << (int)data[3 * (i * width + j) + 1] << "; B: " << (int)data[3 * (i * width + j) + 2] << endl;
    }
}
return data;
}
READ ALSO
Вывести все минимальные числа

Вывести все минимальные числа

Есть такое задание: в массиве найти минимальное числоЕсли минимальных чисел несколько, то присвоить им среднее арифметическое исходного...

105
Создать список функций

Создать список функций

И если есть советы как запомнить, буду благодарен)

117
Объект класса в качестве значения map

Объект класса в качестве значения map

Пытаюсь добавить в map элемент класса, выдает что нет подходящего конструктораВот пример кода (для примера взял структуру, но так же не работает...

125
Ошибка компиляции на месте вызова printf()

Ошибка компиляции на месте вызова printf()

Почему вот это работает,

117