【辅助驾驶】图像拼接[4]——车载全景可视系统代码实现

四相机拼接鸟瞰视角
本文介绍了一种使用四个不同方向的相机拍摄的图像,通过鸟瞰视角变化和拼接,实现车辆及其周围区域全景视觉的方法。处理流程包括相机标定、图像拼接、拼接缝消除及FPGA移植,提供了C++代码示例。

一、效果

4个不同方向的相机,将其鸟瞰变化后,进行拼接,得到车辆及周围区域的鸟瞰视角图。

 

 

二、处理流程

1、相机的标定和图片校正;

2、图像拼接;

3、拼接缝消除;

4、移植到FPGA。

三、代码

这里只实现第二步,使用C++,完整代码和图片参考Github。

#include  "birdView.hpp"

int main(){
	Mat v[4];

	for (int i = 0; i < 4; i++){
		char buf[10];
		sprintf(buf, "%d.png", i);
		v[i] = imread(buf);
	}


	BirdView b("config.yml");

	b.setCarSize(240, 380); 
	b.setChessSize(60);
	b.setMaskHeigth(200);
	b.setInternalShift(27,27);

	//b.sourcePointClick(v);

	while (1){
		imshow("bird view", b.transformView(v));
		if (waitKey(20) == 27)	break;
	}
}

Github下载:https://github.com/linghugoogle/BirdViewTransform

本文深入研究了全景可视化辅助泊车系统中的关键技术,在此基础上设计了一种实现系统的方案:在车身周围安装四个摄像头,将前方和后方带有透视效果的视频图像通过逆投影变换转换为俯视效果;通过图像拼接生成全景鸟瞰图;将低照度环境下的视频图像进行增强处理,提高图像的亮度和对比度。本文设计实现全景可视化辅助泊车系统的软硬件结构,并取得以下成果: (1)根据图像坐标系和真实世界坐标系之间的关系,采用逆投影转换的方法对图像进行视角转换,结合最近邻域插值方法建立逆投影变换查找表,快速实现透视图到俯视图的转换,具有较高的实时性。 (2)设置车身两侧的广角摄像头垂直拍摄地面,在保证全景鸟瞰图视野范围的前提下节省了一半的图像视角转换时间。 (3)针对图像存在一定失真的情况下完成图像拼接,并根据全景鸟瞰图中各个方向获取的图像之间的空间关系建立全景图像拼接映射表,系统可以通过查表的方式快速实现全景鸟瞰图的生成。 (4)针对光线较弱的环境对视频图像亮度的影响,在全景可视化辅助泊车系统中引入低照度图像增强处理。分析比较了一般低照度图像增强算法,结合局部对比度增强技术设计了一种改进的图像增强算法。 本文设计实现全景可视化辅助泊车系统能够适应不同光照环境,通过查表方式快速实现全景鸟瞰图的生成。通过实验验证了本系统的有效性和时间性能,满足辅助泊车的需要。
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值