Array2DSubstract < Value >::Array2DSubstract(const Array2D < Value > &src1,
                                               const Array2D < Value > &src2)
  :
  Array2D <
Value > (src1.xsize(), src1.ysize())
{
  if ((src1.xsize() != src2.xsize()) || (src1.ysize() != src2.ysize())) {
    fprintf(stderr,
            "Array2DSubstract: dimension of src1 and src2 must be the same!\n");
    return;
  }

  int x, y;
  for (y = 0; y < Array2D<Value>::ysize(); y++) {

    for (x = 0; x < Array2D<Value>::xsize(); x++) {
      set(x, y, src1.get(x, y) - src2.get(x, y));
    }
  }
}
  Array2DMedian < Value >::Array2DMedian(const Array2D < Value > &src,
                                         int fsizex, int fsizey, int pick)
  :
  Array2D <
Value > (src.xsize(), src.ysize())
{
  int x, y;
  for (y = 0; y < Array2D<Value>::ysize(); y++) {
#if 0
#ifdef DEBUG
    printf("(%d,%d) %f \n", 0, y, src.getPixel(0, y));
#endif
#endif
    for (x = 0; x < Array2D<Value>::xsize(); x++) {
      CalcPoint(x, y, src, fsizex, fsizey, pick);
    }
  }
}
Example #3
0
Array2D<Value>::Array2D(const Array2D<Value> &pic)
{
  init(pic.xsize(),pic.ysize());
  if (!data_) return;
  memcpy(data_,pic.data(),xsize_*ysize_*sizeof(Value));
}