int nextSegment = (int)col.at<uchar>(next.y*jump, next.x*jump); int nextTotalPixels = pixelsInArea[nextSegment-1]; here, when the value nextSegment is 24, the size of pixelsInArea is 14, so erros occured, vector subscript out of range.