Я полный новичок в этом. Я попытаюсь объяснить себя настолько, насколько смогу.Чтение .bmp (24 бит) в 2D-массив
int i, j;
string filename;
cout << "Please enter the file name: " << endl;
cin >> filename;
fstream stream;
stream.open(filename.c_str(),
ios::in|ios::out|ios::binary);
int file_size = get_int(stream, 2);
int start = get_int(stream, 10);
int width = get_int(stream, 18);
int height = get_int(stream, 22);
Эта часть должна получить файл и его значения.
for (i = 0; i < height; i++)
{
for (j = 0; j < width; j++)
{
for (int k = 0; k < split*split; k++){
int pos = stream.tellg();
int blue = stream.get();
int green = stream.get();
int red = stream.get();
И это достигает внутри каждого пикселя и получает значения RBG.
Что я хочу, это сначала сохранить значения RBG в 2D-массив, а затем сделать некоторые манипуляции с этим массивом. Затем я хотел бы создать новый файл с управляемым изображением.
У меня нет подсказки, поэтому некоторые инструкции вместе с некоторым кодом будут очень полезными.
код [здесь] (http://bitmap.codeplex.com/) – neagoegab
Я бы рекомендовал использовать OpenCV, для чтения изображения с ним потребуется две строки кода. – Mikhail
Ty mate, но я бы хотел сделать это без каких-либо библиотек, если это возможно. – SpiderRico