2016/7/26
实验需求,要在OpenCV中实现同一窗口显示多张图片,非常遗憾,OpenCV中似乎没有类似Matlab中类似的函数,本文实现了一种列表式组合多张图片的函数,为了提高灵活性,函数可以设置图片显示的列数和行数,以及是否使用边框隔开。
核心思路是根据需要显示的图像,创建一个新的大图像,使用ROI(感兴趣区域)操作将需要显示的图像复制到新的大图像里。
函数代码:
Mat combineImages(vector<Mat> imgs,//@parameter1:需要显示的图像组
int col,//parameter2:显示的列数
int row, //parameter3:显示的行数
bool hasMargin){
//parameter4:是否设置边框
int imgAmount = imgs.size();//获取需要显示的图像数量
int width = imgs[0].cols;//本函数默认需要显示的图像大小相同
int height = imgs[0].rows;//获取图像宽高
int newWidth, newHeight;