Ejemplo n.º 1
0
 inline void smart_convert_color(T src, Pixel<U, ColorSpace>& dst)
 {
   double double_src;
   Pixel<double, ColorSpace> double_dst;
   convert_channel(src, double_src);
   convert_color(double_src, double_dst);
   convert_channel<double, U, ColorSpace>(double_dst, dst);
 }
Ejemplo n.º 2
0
 inline void smart_convert_color(const Pixel<T, ColorSpace>& src, U& dst)
 {
   Pixel<double, ColorSpace> double_src;
   double double_dst;
   convert_channel<T, double, ColorSpace>(src, double_src);
   convert_color(double_src, double_dst);
   convert_channel(double_dst, dst);
 }
Ejemplo n.º 3
0
int add_reading(int ch, int value) {
  /* double last = 0.0; */
  double cur, val;
  if ((value >= 0) && (value < 1024)) {
    cntr[ch][value]++;
    /* accum[ch] += convert_to_mv(value); */
    cur = convert_to_mv(value);
    val = convert_channel(ch, cur, last_reading);
    last_reading = val;
    accum[ch] += val;
    acc_cnt[ch]++;
    return(0);
  }
  return(-1);
}
Ejemplo n.º 4
0
 inline void convert_channel(const Pixel<T, ColorSpace>& src,
                             Pixel<U, ColorSpace>& dst)
 {
   for (int i = 0; i < ColorSpace::size; ++i)
     convert_channel(src[i], dst[i]);
 }
Ejemplo n.º 5
0
 inline void convert_channel(const Matrix<T, N, 1>& src, Matrix<U, N, 1>& dst)
 {
   for (int i = 0; i < N; ++i)
     convert_channel(src[i], dst[i]);
 }
Ejemplo n.º 6
0
 static inline void apply(const Pixel<float, ColSpace>& src,
                          Pixel<T, ColSpace>& dst)
 {
   for (auto i = 0; i < src.size(); ++i)
     convert_channel(src[i], dst[i]);
 }
Ejemplo n.º 7
0
 inline void smart_convert_color(SrcGray src, DstGray& dst)
 {
   static_assert(!std::is_same<SrcGray, DstGray>::value,
     "Source and destination grayscale types cannot be identical");
   convert_channel(src, dst);
 }
Ejemplo n.º 8
0
 inline void smart_convert_color(const Pixel<double, ColorSpace>& src, T& dst)
 {
   double double_dst;
   convert_color(src, double_dst);
   convert_channel(double_dst, dst);
 }