C++ 批量图片拼接
void mergeDiffPic(vector<string> pic_list, int pic_cols_rows, string output_file, bool horizontal=true, bool draw_rect=false)
{
int pic_cols = 0;
int pic_rows = 0;
int max_cols=0;
int max_rows=0;
int size_cols=0;
int size_rows=0;
vector<int> tmp_cols;
vector<int> tmp_rows;
int pic_num = pic_list.size();
vector<Mat>input(pic_num);
Mat merge;
for(int i=0; i<pic_num; i++){
input[i] = imread(pic_list[i]);
if(draw_rect){
Rect rect = Rect(0,0,input[i].cols,input[i].rows);
rectangle(input[i],rect,Scalar(0, 0, 255));
}
}
if (horizontal){
pic_cols = pic_cols_rows;
pic_rows = pic_num/pic_cols;
if (pic_num%pic_cols != 0) pic_rows +