当前位置:   article > 正文

OpenCV学习:Mat矩阵合并两张图像_cv::mat 两图拼接

cv::mat 两图拼接
学习OpenCV有一段时间,总结一下,以备忘。
  1. #include "opencv2/core/core.hpp"
  2. #include "opencv2/highgui/highgui.hpp"
  3. #include "opencv2/imgproc/imgproc.hpp"
  4. using namespace cv;
  5. int main(int argc, char **argv)
  6. {
  7. Mat img_left = imread("church01.jpg");
  8. Mat img_right = imread("church02.jpg");
  9. Size size(img_left.cols + img_right.cols, MAX(img_left.rows, img_right.rows));
  10. Mat img_merge;
  11. Mat outImg_left, outImg_right;
  12. img_merge.create(size, CV_MAKETYPE(img_left.depth(), 3));
  13. img_merge = Scalar::all(0);
  14. outImg_left = img_merge(Rect(0, 0, img_left.cols, img_left.rows));
  15. outImg_right = img_merge(Rect(img_left.cols, 0, img_right.cols, img_right.rows));
  16. if(img_left.type() == CV_8U)
  17. {
  18. cvtColor(img_left, outImg_left, CV_GRAY2BGR);
  19. }
  20. else
  21. {
  22. img_left.copyTo(outImg_left);
  23. }
  24. if(img_right.type() == CV_8U)
  25. {
  26. cvtColor(img_right, outImg_right, CV_GRAY2BGR);
  27. }
  28. else
  29. {
  30. img_right.copyTo(outImg_right);
  31. }
  32. imshow("merge", img_merge);
  33. imwrite("merge.jpg", img_merge);
  34. waitKey(0);
  35. return 0;
  36. }

 

练习用的图像分别为

church01.jpg:

 

church02.jpg:

 

运行得到的结果为:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/81372
推荐阅读
相关标签
  

闽ICP备14008679号