// Copyright (C) 2014 Davis E. King (davis@dlib.net) // License: Boost Software License See LICENSE.txt for the full license. #ifndef DLIB_ARRAY2D_GENERIC_iMAGE_Hh_ #define DLIB_ARRAY2D_GENERIC_iMAGE_Hh_ #include "array2d_kernel.h" #include "../image_processing/generic_image.h" namespace dlib { template <typename T, typename mm> struct image_traits<array2d<T,mm> > { typedef T pixel_type; }; template <typename T, typename mm> struct image_traits<const array2d<T,mm> > { typedef T pixel_type; }; template <typename T, typename mm> inline long num_rows( const array2d<T,mm>& img) { return img.nr(); } template <typename T, typename mm> inline long num_columns( const array2d<T,mm>& img) { return img.nc(); } template <typename T, typename mm> inline void set_image_size( array2d<T,mm>& img, long rows, long cols ) { img.set_size(rows,cols); } template <typename T, typename mm> inline void* image_data( array2d<T,mm>& img ) { if (img.size() != 0) return &img[0][0]; else return 0; } template <typename T, typename mm> inline const void* image_data( const array2d<T,mm>& img ) { if (img.size() != 0) return &img[0][0]; else return 0; } template <typename T, typename mm> inline long width_step( const array2d<T,mm>& img ) { return img.width_step(); } } #endif // DLIB_ARRAY2D_GENERIC_iMAGE_Hh_