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