Очень хочу понять как преобразовать данный од чтобы он работал для открытия 1-битных bmp файлов. Вот нашёл такой код...
CFile File;
char *ReadBuffer; // Pointer to read buffer
char *OutputBuffer; // Pointer to output buffer
BITMAPFILEHEADER BmpFileHeader;
unsigned int BmpHeadSize;
char *BmpHeadPtr;
File.Open(FileName);
SrcFile.Read(&BmpFileHeader, sizeof(BmpFileHeader);
BmpHeadSize = BmpFileHeader.bfOffBits - sizeof(BmpFileHeader);
BmpHeadPtr = new char[BmpHeadSize];
File.Read(BmpHeadPtr, BmpHeadSize);
BmpInfoPtr = (BITMAPINFOHEADER*)BmpHeadPtr;
ReadBuffer = new char[BmpInfoPtr->biSizeImage];
SrcFile.Read(ReadBuffer, BmpInfoPtr->biSizeImage);
OutputBuffer = new char[BmpInfoPtr->biSizeImage];
for (i = 0; i < IMAGE_HEIGHT; i++)
{
//Use this line if the bitmap is 24 bit
memcpy(&OutputBuffer[(IMAGE_HEIGHT - i - 1) * IMAGE_WIDTH * 3],
&ReadBuffer[i * IMAGE_WIDTH * 3], IMAGE_WIDTH * 3);
}
memcpy(m_Ipl->imageData, OutputBuffer, BmpInfoPtr->biSizeImage);
И всё как бы норм работает, однако если считывать однобитные bmp, то тогда падает. Кто нибудь может помочь разобраться как с моим вопросом?
Если стоит задача загрузить изображение из файла (не важно какое), и Вы работаете с OpenCV, то логично использовать средства загрузки изображений непосредственно OpenCV, например по схеме:
char *fileName = "MyFile.bmp";
cv::Mat image = cv::imread( fileName )
if (image.data == 0)
{
//Ошибка чтения
cerr << "Incorret input file name: " << fileName << endl;
return EXIT_FAILURE;
}
//Обработка изображения
.....
Соответственно, все обработку тоже лучше делать средствами OpenCV
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Написал программу, которая последовательно запускает 3 другие программы, все работает, но я не уверен что все грамотно написано, так как не знаю...
Знаю дуракций вопрос но может всё же поможетехеадер table
Пытаюсь понять работу сопрограмм в с++17Что это такое и по что оно нужно - более-менее понятно из ответа к вопросу Сопрограммы в С++
Задание:"Реализовать функцию объединения двух mono файлов в один stereo файл, где первый файл является левым каналом, а второй правым каналом выходного...