// Copyright (C) 2007 Davis E. King (davisking@users.sourceforge.net)
// License: Boost Software License See LICENSE.txt for the full license.
#undef DLIB_ASSIGN_IMAGe_ABSTRACT
#ifdef DLIB_ASSIGN_IMAGe_ABSTRACT
#include "../pixel.h"
namespace dlib
{
// ----------------------------------------------------------------------------------------
template <
typename dest_image_type,
typename src_image_type
>
void assign_image (
dest_image_type& dest_img,
const src_image_type& src_img
);
/*!
requires
- src_image_type == is an implementation of array2d/array2d_kernel_abstract.h
- dest_image_type == is an implementation of array2d/array2d_kernel_abstract.h
- pixel_traits<typename src_image_type::type> is defined
- pixel_traits<typename dest_image_type::type> is defined
ensures
- #dest_img.nc() == src_img.nc()
- #dest_img.nr() == src_img.nr()
- for all valid r and c:
- performs assign_pixel(#dest_img[r][c],src_img[r][c])
(i.e. copies the src image to dest image)
!*/
// ----------------------------------------------------------------------------------------
template <
typename dest_image_type,
typename src_pixel_type
>
void assign_all_pixels (
dest_image_type& dest_img,
const src_pixel_type& src_pixel
);
/*!
requires
- dest_image_type == is an implementation of array2d/array2d_kernel_abstract.h
- pixel_traits<typename dest_image_type::type> is defined
- pixel_traits<src_pixel_type> is defined
ensures
- #dest_img.nc() == dest_img.nc()
- #dest_img.nr() == dest_img.nr()
(i.e. the size of dest_img isn't changed by this function)
- for all valid r and c:
- performs assign_pixel(#dest_img[r][c],src_pixel)
(i.e. assigns the src pixel to every pixel in the dest image)
!*/
// ----------------------------------------------------------------------------------------
template <
typename image_type
>
void assign_border_pixels (
image_type& img,
long x_border_size,
long y_border_size,
const typename image_type::type& p
);
/*!
requires
- image_type == is an implementation of array2d/array2d_kernel_abstract.h
- x_border_size >= 0
- y_border_size >= 0
ensures
- #img.nc() == img.nc()
- #img.nr() == img.nr()
(i.e. the size of img isn't changed by this function)
- for all valid r such that r+y_border_size or r-y_border_size gives an invalid row
- for all valid c such that c+x_border_size or c-x_border_size gives an invalid column
- performs assign_pixel(#img[r][c],p)
(i.e. assigns the given pixel to every pixel in the border of img)
!*/
// ----------------------------------------------------------------------------------------
template <
typename image_type
>
void assign_border_pixels (
image_type& img,
long x_border_size,
long y_border_size
);
/*!
requires
- image_type == is an implementation of array2d/array2d_kernel_abstract.h
- x_border_size >= 0
- y_border_size >= 0
ensures
- #img.nc() == img.nc()
- #img.nr() == img.nr()
(i.e. the size of img isn't changed by this function)
- let p be a pixel such that get_pixel_intensity(p) == 0
- performs assign_border_pixels(img, x_border_size, y_border_size, p)
(i.e. zeros the border of the given image)
!*/
// ----------------------------------------------------------------------------------------
}
#endif // DLIB_ASSIGN_IMAGe_ABSTRACT