28 #ifndef MLN_FUN_V2V_RGB_TO_INT_U_HH
29 # define MLN_FUN_V2V_RGB_TO_INT_U_HH
31 # include <mln/core/concept/function.hh>
32 # include <mln/value/int_u8.hh>
33 # include <mln/value/rgb8.hh>
45 struct rgb_to_int_u : Function_v2v< rgb_to_int_u<n> >
47 typedef value::int_u<n> result;
49 result operator()(
const value::rgb<n>& c)
const;
52 # ifndef MLN_INCLUDE_ONLY
55 typename rgb_to_int_u<n>::result
56 rgb_to_int_u<n>::operator()(
const value::rgb<n>& c)
const
58 return (c.red() + c.green() + c.blue()) / 3;
61 # endif // ! MLN_INCLUDE_ONLY
69 #endif // ! MLN_FUN_V2V_RGB_TO_INT_U_HH