#include #include using std::vector; namespace icl{ // 10------------------------50 //n=4 10 20 30 40 50 // void ImageSplitter::splitImage(ImgBase *src, vector &parts){ Rect r = src->getROI(); int n = (int)parts.size(); ICLASSERT_RETURN(n); ICLASSERT_RETURN(r.getDim()); ICLASSERT_RETURN(r.height >= n); float dh = float(r.height)/n; for(int i=0;ishallowCopy(Rect(r.x,yStart,r.width,dy)); } } std::vector ImageSplitter::split(ImgBase *src, int nParts){ std::vector v(nParts,(ImgBase*)0); splitImage(src,v); return v; } const std::vector ImageSplitter::split(const ImgBase *src, int nParts){ ImgBase *srcX = const_cast(src); std::vector v= split(srcX,nParts); return v; } void ImageSplitter::release(const std::vector &v){ for(unsigned int i=0;i