我有三個矩陣,每個大小爲4x1
。我想將所有這些矩陣複製到另一個大小爲4x3
的矩陣,並將其稱爲R
。有沒有一個聰明的方法來做到這一點?如何在opencv中將3個矩陣合併爲1?
3
A
回答
10
您可以使用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。
4
您可以使用
Mat R(3, 4, CV_32F); // [3 rows x 4 cols] with float values
mat1.copyTo(R.row(0));
mat2.copyTo(R.row(1));
mat3.copyTo(R.row(2));
或
Mat R(4, 3, CV_32F); // [4 rows x 3 cols] with float values
mat1.copyTo(R.col(0));
mat2.copyTo(R.col(1));
mat3.copyTo(R.col(2));
另外,作爲@sub_o建議,你也可以使用hconcat()/vconcat()
來連接矩陣。
相關問題
- 1. [解決]如何在C 5個矩陣合併++/OpenCV的
- 2. 在Eigen中,如何將多個映射矩陣組合爲矩陣陣列
- 3. MySQL將3個表合併爲1
- 4. 將3個SQL查詢合併爲1
- 5. 如何將多個矩陣幀合併爲一個使用R?
- 6. 3 JS幾何合併矩陣
- 7. 使用ggplot2將3個矩陣轉換爲1個地圖
- 8. C#將1 x 3矩陣轉換爲3 x 3矩陣,並帶有特殊條件
- 9. 將1個矩陣轉換爲多個矩陣
- 10. 如何將3個結果合併爲1 foreach(PHP html DOM)
- 11. 如何合併的順序3 * 3四個矩陣中的6階一次矩陣* 6
- 12. 在matlab中合併兩個矩陣
- 13. 將3變量合併爲1
- 14. 如何合併元素在矩陣
- 15. 將矩陣轉換爲1維陣列
- 16. 在OpenCV中將矩陣轉換爲陣列/向量
- 17. 如何在sqlCE中將2個表合併爲1個表?
- 18. 如何使用opencv將圖像轉換爲Python中的矩陣
- 19. 在PHP中合併3個陣列爲3d陣列
- 20. 將列表合併到矩陣中
- 21. 將openCV矩陣轉換爲矢量
- 22. 如何將由for循環輸出的矩陣合併爲r
- 23. 如何在1個查詢中合併3個表格
- 24. Tensorflow:我如何將3D矩陣組合爲一個整體矩陣?
- 25. 如何加載一個txt/.pgn.camera文件並將其存儲在矩陣C++/opencv
- 26. 在OpenCV中使用子矩陣製作一個大矩陣
- 27. 在opencv中劃分兩個矩陣
- 28. 如何在matlab中合併兩個不同尺寸的矩陣
- 29. 合併矩陣R
- 30. 如何在MATLAB中將灰度矩陣轉換爲RGB矩陣?
如果mat1是在循環中獲得,我必須在矩陣R中斷言,即如果循環3獲得mat1的3倍值並且必須在矩陣4的R中斷言,該怎麼辦? – user3528954
@ user3528954您想在運行時確定'mat1'的大小嗎? – herohuyongtao