opencv c++ 图片拼接,读取地址处理 您所在的位置:网站首页 opencv中imshow函数如何显示四张图 opencv c++ 图片拼接,读取地址处理

opencv c++ 图片拼接,读取地址处理

2023-06-20 04:00| 来源: 网络整理| 查看: 265

最近学校里有个活动,要求把几张截图拼接成一张长图,但是我在手机上没找到这个功能,于是打算用opencv写一个程序。

这个程序有两个功能,第一个是将图片路径变成opencv支持的格式(去掉前后引号,将“\”改为“/”),第二个是拼接图片。

此函数实现整理图片地址的格式,用于opencv的imread string process(string str){ for(int i=0;ifirst_path; cin>>second_path; first_path=process(first_path); //处理后不带前后的双引号。且用“/” second_path=process(second_path); Mat img1=imread(first_path); Mat img2=imread(second_path); int w1=img1.cols; int h1=img1.rows; int w2=img2.cols; int h2=img2.rows; int height=h1+h2; int width=max(w1,w2); Mat img(height,width,CV_8UC3,Scalar::all(0)); //注意这里(height,width) Mat roi_1=img(Rect(0,0,w1,h1)); Mat roi_2=img(Rect(0,h1,w2,h2)); //注意这里(0,h1,w2,h2),不是(0,h1,w2,h1+h2) ROI img1.copyTo(roi_1); img2.copyTo(roi_2); imshow("img",img); imwrite("img.jpg", img); waitKey(0); return 0; }

这是拼接完的图片(截图)

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有