基于ELSA的双目立体匹配算法

博主研究双目测距,发现OpenCV的BM、SGBM算法对高分辨率图片匹配不足。转向ELAS算法,通过论文和开源代码,克服仅能在x86环境运行的问题,成功在Win10+VS2015+OpenCV3.4.1的x64环境下实现编译和运行。提供相关源代码和工程实现。
摘要由CSDN通过智能技术生成

博主最近在研究双目测距的实现,要实现对高分辨率的图片进行实时匹配,对立体匹配算法的要求就比较苛刻。经过测试,OpenCV自带的BM、SGBM等算法对小图片的匹配效果还行,但是对高分辨率图片就力所不逮了。于是经过一番折腾,找到了这篇论文《Efficient Large-Scale Stereo Matching》及作者开源发布的源码库,但是发现源码库的example及网上相关资料均只能在VS的x86环境下运行,而受限于某些原因,我又只能在x64环境下运行,最后参考这位大佬的代码:链接,实现了ELAS算法在x64环境下的编译及运行。

代码运行环境:Win10+VS2015+OpenCV3.4.1

/*
	ElasMatch的形参必须为灰度图像,因为ELAS算法处理的图像格式为*.pgm,其为灰度图像对应的便携式图像格式。而黑白对应*.pbm格式、彩色对应着*.ppm格式。
*/
#include<iostream>   
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>  
#include <opencv2\opencv.hpp>
#include "elas.h"

using namespace std;
using namespace cv;

int ElasMatch(cv::Mat leftImage, cv::Mat rightImage);
int main() {
   

	Mat left = imread("L.jpg",IMREAD_GRAYSCALE);
	Mat right = imread("R.jpg",IMREAD_GRAYSCALE);
	
	ElasMatch(left, right);

	waitKey(0);
	return 0;
}
int Elas
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值