У меня проблема с тем, что я хотел бы объединить большое количество изображений с помощью ImageMagick's 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 есть какой-нибудь хороший инструмент для этого, он идеально подходит для меня.