// Copyright (C) 2006 Davis E. King (davis@dlib.net) // License: Boost Software License See LICENSE.txt for the full license. #undef DLIB_IMAGE_LOADEr_ABSTRACT_ #ifdef DLIB_IMAGE_LOADEr_ABSTRACT_ #include <iosfwd> #include "../algs.h" #include "../pixel.h" #include "../image_processing/generic_image.h" namespace dlib { class image_load_error : public dlib::error { /*! WHAT THIS OBJECT REPRESENTS This is an exception used to indicate a failure to load an image. Its type member variable will be set to EIMAGE_LOAD. !*/ }; // ---------------------------------------------------------------------------------------- template < typename image_type > void load_bmp ( image_type& image, std::istream& in ); /*! requires - image_type == an image object that implements the interface defined in dlib/image_processing/generic_image.h ensures - #image == the image of the MS Windows BMP file that was available in the input stream in. - #image[0][0] will be the upper left corner of the image - #image[image.nr()-1][image.nc()-1] will be the lower right corner of the image - Performs any color space conversion necessary to convert the BMP image data into the pixel type used by the given image object. throws - image_load_error This exception is thrown if there is an error that prevents us from loading the image. If this exception is thrown then #image will have an initial value for its type. - std::bad_alloc If this exception is thrown then #image will have an initial value for its type. !*/ // ---------------------------------------------------------------------------------------- template < typename image_type > void load_bmp ( image_type& image, const std::string& file_name ); /*! requires - image_type == an image object that implements the interface defined in dlib/image_processing/generic_image.h ensures - opens the file indicated by file_name with an input file stream named fin and performs: load_bmp(image,fin); !*/ // ---------------------------------------------------------------------------------------- /*! dlib dng file format: This is a file format I created for this library. It is a lossless compressed image format that is similar to the PNG format but uses the dlib PPM compression algorithms instead of the DEFLATE algorithm. !*/ template < typename image_type > void load_dng ( image_type& image, std::istream& in ); /*! requires - image_type == an image object that implements the interface defined in dlib/image_processing/generic_image.h ensures - #image == the image of the dlib dng file that was available in the input stream in. - #image[0][0] will be the upper left corner of the image - #image[image.nr()-1][image.nc()-1] will be the lower right corner of the image - Performs any color space conversion necessary to convert the dng image data into the pixel type used by the given image object. throws - image_load_error This exception is thrown if there is an error that prevents us from loading the image. If this exception is thrown then #image will have an initial value for its type. - std::bad_alloc If this exception is thrown then #image will have an initial value for its type. !*/ // ---------------------------------------------------------------------------------------- template < typename image_type > void load_dng ( image_type& image, const std::string& file_name ); /*! requires - image_type == an image object that implements the interface defined in dlib/image_processing/generic_image.h ensures - opens the file indicated by file_name with an input file stream named fin and performs: load_dng(image,fin); !*/ // ---------------------------------------------------------------------------------------- } #endif // DLIB_IMAGE_LOADEr_ABSTRACT_