【发布时间】:2013-12-03 10:31:10
【问题描述】:
我想合并几个cv::Mat,当我使用mat1.push_back(mat2)时,它会在mat1的末尾垂直添加mat2,有没有办法横向做到这一点?
我能想到的唯一其他选择是将每个cv::Mat 变成cv::RotatedRect,旋转它,创建一个新的Mat,合并,最后以相同的方式旋转所有内容,但如果有的话,它听起来毫无意义另一种方式
【问题讨论】:
我想合并几个cv::Mat,当我使用mat1.push_back(mat2)时,它会在mat1的末尾垂直添加mat2,有没有办法横向做到这一点?
我能想到的唯一其他选择是将每个cv::Mat 变成cv::RotatedRect,旋转它,创建一个新的Mat,合并,最后以相同的方式旋转所有内容,但如果有的话,它听起来毫无意义另一种方式
【问题讨论】:
有一种非常简单的方法可以并排显示两个图像。可以使用opencv提供的以下函数。
Mat image1, image2;
hconcat(image1,image2,image1);//Syntax->
hconcat(source1,source2,destination);
此功能还可用于将一组列从一个图像复制到另一个图像。
Mat image;
Mat columns=image.colRange(20,30);
hconcat(image,columns,image);
【讨论】: