68 lines
1.5 KiB
C++
68 lines
1.5 KiB
C++
// 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_
|
|
|