У меня есть проблема, что я хотел бы объединить большое количество изображений с помощью ImageMagick convert.exe, но в Windows у меня есть ограничение на длину строки 8192 байта.
Мое решение состоит в том, чтобы разделить задачу на меньшую подзадачу, запустить ее и выполнить конечную задачу, которая объединяет их вместе.
Моя идея - написать функцию, которая берет вектор изображений и целое число и разбивает вектор на n суб-вектора, все имеющие "почти равные" части.
Так, например, если бы я хотел разделить 11 на 3 группы, это было бы 4-4-3.
Можете ли вы рассказать мне, как я могу это сделать на С++? Я имею в виду, чтобы написать функцию
split_vec( const vector<image> &images, int split )
который выполняет расщепление?
Кроме того, можете ли вы рассказать мне, что является наиболее эффективным способом сделать , если мне не нужно создавать новые векторы, просто перебирайте их под частями? Как функция std::substr
с std::string
?
Примечание. Я уже использую Boost в проекте, поэтому, если для этого есть хороший инструмент для Boost, он идеально подходит для меня.