opencv图像拼接
2016-05-16 12:02
465 查看
网上已经很多相关的代码了,主要就是调用Stitcher::Status status = sti.stitch(vImg, rImg);这里主要是记录一下自己的一个实现。
图片1
图片2
图片3
这里是代码:
拼接结果:
总结:
这方法实现非常简单,效果也挺好,缺点是速度很慢,如果有实时性的要求,建议使用GPU进行计算。
图片1
图片2
图片3
这里是代码:
#include < stdio.h > #include < opencv2\opencv.hpp > #include < opencv2\stitching\stitcher.hpp > using namespace cv; using namespace std; int main(){ vector<Mat>vImg; Mat rImg; vImg.push_back(imread("sanL.png")); vImg.push_back(imread("sanM.png")); vImg.push_back(imread("sanR.png")); Stitcher sti = Stitcher::createDefault(); unsigned long AAtime = 0, BBtime = 0; AAtime = getTickCount(); Stitcher::Status status = sti.stitch(vImg, rImg); BBtime = getTickCount(); printf("%.21f sec \n", (BBtime - AAtime) / getTickFrequency()); if (Stitcher::OK == status) imshow("Stitching Result", rImg); else cout << "FAIL\n"; waitKey(0); }
拼接结果:
总结:
这方法实现非常简单,效果也挺好,缺点是速度很慢,如果有实时性的要求,建议使用GPU进行计算。
相关文章推荐
- 【Linux开发】linux设备驱动归纳总结(三):5.阻塞型IO实现
- [OpenGL] OpenGL+VS2015环境配置
- 【Linux】linux设备驱动归纳总结
- 【Linux开发】linux设备驱动归纳总结(三):4.ioctl的实现
- 【Linux开发】linux设备驱动归纳总结(三):3.设备驱动面向对象思想和lseek的实现
- 【Linux开发】linux设备驱动归纳总结(三):2.字符型设备的操作open、close、read、write
- Spark算子-RDD Action(saveAsNewAPIHadoopFile)
- 【Linux开发】linux设备驱动归纳总结(三):1.字符型设备之设备申请
- 【Linux开发】linux设备驱动归纳总结(二):模块的相关基础概念
- 【Linux开发】linux设备驱动归纳总结(一):内核的相关基础概念
- Linux文本三剑客之awk
- linux[ubuntu]下mysql字符集设置
- Linux文本三剑客之sed
- Linux任务计划、周期性任务执行
- Linux进程及作业管理
- Centos 6.5 本地YUM配置
- Linux程序包管理(CentOS)
- Linux压缩、解压缩及归档工具
- Linux LVM2
- Linux RAID