opencv - 如何在opencv中将3个矩阵合并为1个?

标签 opencv matrix concatenation

我有三个矩阵,每个矩阵的大小都是 4x1。我想将所有这些矩阵复制到另一个大小为 4x3 的矩阵,并将其命名为 R。有聪明的方法吗?

最佳答案

您可以只使用 hconcat 进行水平串联。您可以按矩阵使用它,例如hconcat( mat1, mat2, R ),或直接将其应用于向量或矩阵数组。

这是一个示例代码:

vector<Mat> matrices = {
    Mat(4, 1, CV_8UC1, Scalar(1)),
    Mat(4, 1, CV_8UC1, Scalar(2)),
    Mat(4, 1, CV_8UC1, Scalar(3)),
};
Mat R;
hconcat( matrices, R );
cout << R << endl;

结果如下:

[1, 2, 3;
  1, 2, 3;
  1, 2, 3;
  1, 2, 3]
Program ended with exit code: 1

类似地,如果您想垂直进行(按行堆叠),请使用 vconcat。

关于opencv - 如何在opencv中将3个矩阵合并为1个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23042798/

相关文章:

mysql - 连接两个表并从一列返回多个匹配项的 SQL 查询?

python - Opencv 在我的笔记本电脑上为我的项目工作,但停止在树莓派上工作

python - 如何调整tesseract以更准确地识别汽车的车牌?

c++ - 为什么应用 glm 变换函数 "backwards"?

r - R 中的高效矩阵运算

python - 在 Python 中基于地类网格求和土地面积网格

python - 将 yuv420p 原始数据转换为图像 opencv

c++ - 从当前捕获中获取设备 ID

php - 在php中连接n个数组的值

c++ - 如何连接 std::string 和 int