Библиотека CImg не загружает изображение

Я следовал за CImg руководство и у меня это отлично работает. Однако, если я пытаюсь загрузить другое изображение (кроме lena.jpg), я получаю ошибку переполнения стека.

Например, это работает:

CImg<float> image;
string filePath = "C:/Users/zzz/Documents/lena.jpg";
image.load(filePath.c_str());

Но это дает ошибку:

CImg<float> image;
string filePath = "C:/Users/zzz/Documents/anotherimage.jpg";
image.load(filePath.c_str());

Ошибка:
Необработанное исключение в 0x77bb15de в LoadImageTest.exe: 0xC00000FD: переполнение стека.

Я думал, что переполнение стека было вызвано слишком большим «anotherimage.jpg», поэтому я также попробовал действительно маленькое изображение (16×16 пикселей). Это привело к той же ошибке.

У кого-нибудь есть предложения относительно того, почему это происходит?

Полный код:

#include "stdafx.h"#include <iostream>

#include "CImg.h"
using namespace cimg_library;
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
CImg<float> image;

// This works...
string filePath = "C:/Users/zzz/Pictures/lena.jpg";

// This doesn't work...
// string filePath = "C:/Users/zzz/Pictures/small.jpg";

image.load(filePath.c_str());

CImgDisplay main_disp(image, "The image");

while (!main_disp.is_closed())
{
main_disp.wait();
}

return 0;
}

0

Решение

Выглядит странно Вы уверены, что это действительно файл в формате JPG? Использует ли он некоторые специальные форматы JPEG (B&Вт, 12 бит?, …).

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]