// Copyright (C) 2011 Davis E. King (davis@dlib.net), Nils Labugt
// License: Boost Software License See LICENSE.txt for the full license.
#ifndef DLIB_LOAd_IMAGE_H__
#define DLIB_LOAd_IMAGE_H__
#include "load_image_abstract.h"
#include "../string.h"
#include "png_loader.h"
#include "jpeg_loader.h"
#include "image_loader.h"
namespace dlib
{
template <typename image_type>
void load_image (
image_type& image,
const std::string& file_name
)
{
const std::string extension = tolower(right_substr(file_name,"."));
if (extension == "bmp")
load_bmp(image, file_name);
#ifdef DLIB_PNG_SUPPORT
else if (extension == "png")
load_png(image, file_name);
#endif
#ifdef DLIB_JPEG_SUPPORT
else if (extension == "jpeg" || extension == "jpg")
load_jpeg(image, file_name);
#endif
else if (extension == "dng")
load_dng(image, file_name);
else
{
if (extension == "jpeg" || extension == "jpg")
throw image_load_error("DLIB_JPEG_SUPPORT not #defined: Unable to load image in file " + file_name);
else if (extension == "png")
throw image_load_error("DLIB_PNG_SUPPORT not #defined: Unable to load image in file " + file_name);
else
throw image_load_error("Unknown file extension: Unable to load image in file " + file_name);
}
}
}
#endif // DLIB_LOAd_IMAGE_H__