Merging cv::Mat horizontally

c++, opencv, ubuntu

Solution

Take a look at hconcat and vconcat.

usage:

Mat M1,M2,HM,VM;
// M1 and M2 - source matrices
// HM,VM - results matrices
 ...

 hconcat(M1,M2,HM); // horizontal concatenation
 vconcat(M1,M2,VM); // vertical   concatenation

Take care, these methods are not documented.

Problem

I want to merge a few `cv::Mat`, when I use `mat1.push_back(mat2)` it add `mat2` to the end of `mat1` vertically , is there a way to do this horizontally? The only other option I can think of is making every `cv::Mat` into a `cv::RotatedRect`, rotate it, creating a new `Mat`, merging, rotating everything in the end in the same way, but it sound pointlessly long if there is another way

Original source