137 lines
4.6 KiB
C++
137 lines
4.6 KiB
C++
// 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_
|
|
|