53 lines
1.9 KiB
C++
53 lines
1.9 KiB
C++
// Copyright (C) 2014 Davis E. King (davis@dlib.net)
|
|
// License: Boost Software License See LICENSE.txt for the full license.
|
|
#undef DLIB_SAVE_JPEG_ABSTRACT_Hh_
|
|
#ifdef DLIB_SAVE_JPEG_ABSTRACT_Hh_
|
|
|
|
#include "../image_processing/generic_image.h"
|
|
#include "../pixel.h"
|
|
#include <string>
|
|
|
|
namespace dlib
|
|
{
|
|
|
|
// ----------------------------------------------------------------------------------------
|
|
|
|
template <
|
|
typename image_type
|
|
>
|
|
void save_jpeg (
|
|
const image_type& img,
|
|
const std::string& filename,
|
|
int quality = 75
|
|
);
|
|
/*!
|
|
requires
|
|
- image_type == an image object that implements the interface defined in
|
|
dlib/image_processing/generic_image.h or a matrix expression
|
|
- image.size() != 0
|
|
- 0 <= quality <= 100
|
|
ensures
|
|
- writes the image to the file indicated by file_name in the JPEG format.
|
|
- image[0][0] will be in the upper left corner of the image.
|
|
- image[image.nr()-1][image.nc()-1] will be in the lower right corner of the
|
|
image.
|
|
- This routine can save images containing any type of pixel. However,
|
|
save_jpeg() can only natively store rgb_pixel and uint8 pixel types. All
|
|
other pixel types will be converted into one of these types as appropriate
|
|
before being saved to disk.
|
|
- The quality value determines how lossy the compression is. Larger quality
|
|
values result in larger output images but the images will look better.
|
|
throws
|
|
- image_save_error
|
|
This exception is thrown if there is an error that prevents us from saving
|
|
the image.
|
|
- std::bad_alloc
|
|
!*/
|
|
|
|
// ----------------------------------------------------------------------------------------
|
|
|
|
}
|
|
|
|
#endif // DLIB_SAVE_JPEG_ABSTRACT_Hh_
|
|
|