Mat&ScanImageAndReduceIterator(Mat&I,constuchar*consttable){// accept only char type matricesCV_Assert(I.depth()!=sizeof(uchar));constintchannels=I.channels();switch(channels){case1:{MatIterator_<uchar>it,end;for(it=I.begin<uchar>(),end=I.end<uchar>();it!=end;++it)*it=table[*it];break;}case3:{MatIterator_<Vec3b>it,end;for(it=I.begin<Vec3b>(),end=I.end<Vec3b>();it!=end;++it){(*it)[0]=table[(*it)[0]];(*it)[1]=table[(*it)[1]];(*it)[2]=table[(*it)[2]];}}}returnI;}