这篇文章主要为大家详细介绍了OpenCV实现多图像拼接成一张大图,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了OpenCV实现多图像拼接成大图的具体代码,供大家参考,具体内容如下
开始尝试合并函数,具体如下:
定义四个矩阵甲、乙、丙、丁。得到矩阵结合起来。
#includeiostream
#包含核心/核心. hpp
#包含opencv2/imgproc/imgproc.hpp
#包含opencv2/highgui/highgui.hpp
使用命名空间标准
使用名称空间cv;
int main()
{
cv:Mat a=(cv:Mat_int(2,2)1,2,3,4);
cv:Mat b=(cv:Mat_int(2,2)5,6,7,8);
cv:Mat c=(cv:Mat_int(2,2)9,10,11,12);
cv:Mat d=(cv:Mat_int(2,2)13,14,15,16);
STD:vector cv:Mat v1;
v1。push _ back(a);
v1。push _ back(b);
v1。push _ back(c);
v1。push _ back(d);
简历:材料联合收割机;
cv:merge(v1,combine);
cout ' combine=' combine endl
cout '联合收割机的尺寸:'联合收割机。size()endl;
系统("暂停");
返回0;
}
结果如下:
显然,不是我们需要的结果。
尝试hconcat和vconcat函数,这两个函数opencv本身并没有。
详细介绍参见hconcat和vconcat。
具体实现如下:
#包括输入输出流
#包含核心/核心. hpp
#包含opencv2/imgproc/imgproc.hpp
#包含opencv2/highgui/highgui.hpp
使用命名空间标准
使用名称空间cv;
int main()
{
cv:Mat a=(cv:Mat_int(2,2)1,2,3,4);
cv:Mat b=(cv:Mat_int(2,2)5,6,7,8);
cv:Mat c=(cv:Mat_int(2,2)9,10,11,12);
cv:Mat d=(cv:Mat_int(2,2)13,14,15,16);
垫子组合,组合1,组合2;
hconcat(a、b、combine 1);
hconcat(c、d、combine 2);
vconcat(combine1,combine2,combine);
//namedWindow('Combine ',CV _ WINDOW _ AUTOSIZE);
//imshow('Combine ',Combine);
cout ' combine=:' combine endl;
系统("暂停");
返回0;
}
结果:
图像拼接实现
#包括输入输出流
#包含核心/核心. hpp
#包含opencv2/imgproc/imgproc.hpp
#包含opencv2/highgui/highgui.hpp
使用命名空间标准
使用名称空间cv;
int main()
{
//cv:Mat a=(cv:Mat_int(2,2)1,2,3,4);
//cv:Mat b=(cv:Mat_int(2,2)5,6,7,8);
//cv:Mat c=(cv:Mat_int(2,2)9,10,11,12);
//cv:Mat d=(cv:Mat_int(2,2)13,14,15,16);
垫子组合,组合1,组合2;
mat a=im read(' 1。jpg’);
mat b=im read(' 2。jpg’);
mat c=im read(' 3。jpg’);
mat d=im read(' 4。jpg’);
hconcat(a、b、combine 1);
hconcat(c、d、combine 2);
vconcat(combine1,combine2,combine);
namedWindow('Combine ',CV _ WINDOW _ AUTOSIZE);
imshow('合并'),合并);
等待键(0);
//cout ' combine=:' combine endl;
系统("暂停");
返回0;
}
图像结果显示如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。