c++ - 水平合并 cv::Mat

标签 c++ opencv ubuntu

我想合并一些 cv::Mat,当我使用 mat1.push_back(mat2) 时,它会将 mat2 添加到末尾mat1 vertically ,有没有办法水平地做到这一点? 我能想到的唯一其他选择是将每个 cv::Mat 变成一个 cv::RotatedRect,旋转它,创建一个新的 Mat , 合并, 以相同的方式最终旋转所有内容,但如果有另一种方式,这听起来毫无意义

最佳答案

看看hconcatvconcat .

用法:

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

注意,这些方法没有记录。

关于c++ - 水平合并 cv::Mat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20078875/

相关文章:

c++ - 我如何使用 DrawPrimitiveUP 以便它使用我定义的结构中的颜色值?

c++ - 使用 HOGDescriptor 训练 CvSVM 检测图像中的人类

image-processing - OpenCV中检测到的轮廓数量不匹配

visual-c++ - 如何在 IplImage 上使用 calcCovarMatrix?

c++ - boost::multi_array 上的段错误

c++ - 是否可以强制父类(super class)中的非 const 虚方法优先于子类中同名的 const 方法?

python - Pyqt5:像素图颜色问题

linux - 使用“vi”编辑器的垃圾字符

python-3.x - Pathlib mkdir 引发 FileExistsError 尽管文件实际上并不存在

c++ - 在 Windows 8.1 上使用 clang-cl 64 位