Я пытаюсь загрузить изображение, потому что я должен применить на нем алгоритм. Если я загружаю изображение с 8-битным каналом, проблем нет, но если я загружу изображение 16bpc, оно будет «разрушено». К сожалению, поскольку у меня недостаточно репутации, я не могу уладить изображения.C++ - FreeImage + OpenCV - 16-разрядное изображение искажается
Те ссылки на них:
Либо источник и результат обработки 8bpc
http://postimg.org/image/gc0zf2lp5/
..result если я обрабатывать один и тот же образ, сохраненный как 16bpc
http://postimg.org/image/5nnwee7df/
И вот этот код:
FreeImage_Initialise();
FREE_IMAGE_FORMAT formato = FreeImage_GetFileType(argv[1], 0);
FIBITMAP* imagetmp = FreeImage_Load(format, argv[1]);
FIBITMAP* image = FreeImage_Rotate(imagetmp, 180);
FreeImage_FlipHorizontal(image);
int depth = FreeImage_GetBPP(image);
printf("depth = %d\n", FreeImage_GetPitch(image));
cv::Mat img(FreeImage_GetHeight(image), FreeImage_GetWidth(image), CV_MAKETYPE(depth/3, 3), FreeImage_GetBits(image), FreeImage_GetPitch(image));
FreeImage_DeInitialise();
Что это может быть?