自动驾驶AVM环视算法--540度全景的算法实现和exe测试demo

参考:金书世界

540度全景影像是什么

540度全景影像是在360度全景影像基础上的升级功能,它增加了更多的摄像头来收集周围的图像数据。通常,这些摄像头分布在车辆的更多位置,例如车顶、车底等,以便更全面地捕捉车辆周围的情况。在开启全景影像功能时,这些摄像头收集的图像数据会被系统处理并拼接在一起,形成一个从车顶鸟瞰的全景俯视图。这种视图可以提供更全面的视野,帮助驾驶员更好地了解车辆周围的环境,从而提高驾驶安全性和便利性。

更新:测试的exe程序,无需解压码就可以体验算法测试效果

链接:https://pan.baidu.com/s/1iOFRd0bWQsbt7mx1ADvL-g 提取码:97nk 

1、压缩包解压后显示如下所示

测试文件包括:可执行的exe文件、测试的视频等。

2.双击exe就可以运行测试程序,测试程序界面显示如下所示:

3、540度全景按钮如下所示

视频效果

AVM全景的多视图模式--549度全景

4、540全景算法实现代码如下所示

	//MFC弹出命令窗体AllocConsole();freopen("CONOUT$", "w", stdout);//MFC弹出命令窗体int ww = 10;cvNamedWindow("视频播放", CV_WINDOW_AUTOSIZE);																							//创建用于显示的窗体	sprintf(g_Test_Video_Path_D, "video1\\Down.avi");sprintf(g_Test_Video_Path_F, "video1\\Front.avi");sprintf(g_Test_Video_Path_B, "video1\\Back.avi");sprintf(g_Test_Video_Path_L, "video1\\Left.avi");sprintf(g_Test_Video_Path_R, "video1\\Right.avi");IplImage* img_AVM_540 = cvCreateImage(cvSize(JS_AVM_IMGW, JS_AVM_IMGH), 8, 3);CvVideoWriter* writer = cvCreateVideoWriter("result\\540.avi", CV_FOURCC('X', 'V', 'I', 'D'), 25, cvSize(JS_AVM_IMGW, JS_AVM_IMGH));CvCapture* C_img_F = cvCreateFileCapture(g_Test_Video_Path_F);																			//读取前视测试视频CvCapture* C_img_B = cvCreateFileCapture(g_Test_Video_Path_B);																			//读取后视测试视频CvCapture* C_img_L = cvCreateFileCapture(g_Test_Video_Path_L);																			//读取左视测试视频CvCapture* C_img_R = cvCreateFileCapture(g_Test_Video_Path_R);																			//读取右视测试视频CvCapture* C_img_D = cvCreateFileCapture(g_Test_Video_Path_D);																			//读取右视测试视频IplImage* img_F, * img_B, * img_L, * img_R, * img_D;																					//定义各个视图的图像IplImage* CarImage = cvLoadImage("top.png");js_AVM_obj AVMData_540;js_init_avm_540(&AVMData_540, img_AVM_540->width, img_AVM_540->height, 0);IplImage* CarImageResize = cvCreateImage(cvSize(AVMData_540.RFsrc.x - AVMData_540.LFsrc.x + 2 * ww, AVMData_540.LBsrc.y - AVMData_540.LFsrc.y + 2 * ww), 8, 3);cvResize(CarImage, CarImageResize);int num = 0;while (img_F = cvQueryFrame(C_img_F)){img_B = cvQueryFrame(C_img_B);img_L = cvQueryFrame(C_img_L);img_R = cvQueryFrame(C_img_R);img_D = cvQueryFrame(C_img_D);js_getAVM_540(&AVMData_540, img_AVM_540->imageData, img_F->imageData, img_B->imageData, img_L->imageData, img_R->imageData, img_D->imageData, img_F->width, img_F->height, img_AVM_540->width, img_AVM_540->height, img_AVM_540->nChannels, 0);js_DrawCar(img_AVM_540, CarImageResize, AVMData_540.LFsrc.x - ww, AVMData_540.LFsrc.y - ww, CarImageResize->width, CarImageResize->height);Mat img = cvarrToMat(img_AVM_540);putTextZH(img, "      金书世界      \nwww.jinshushijie.com", CvPoint(10, 20), Scalar(0, 0, 255), 30, "楷体", false, false);cvWriteFrame(writer, img_AVM_540);cvShowImage("视频播放", img_AVM_540);char c = cvWaitKey(1);if (c == 27)break;num++;}cvReleaseVideoWriter(&writer);																											//释放视频保存的结构体cvReleaseCapture(&C_img_F);																												//释放前视的图像结构体cvReleaseCapture(&C_img_B);																												//释放前视的图像结构体cvReleaseCapture(&C_img_L);																												//释放前视的图像结构体cvReleaseCapture(&C_img_R);																												//释放前视的图像结构体cvReleaseCapture(&C_img_D);																												//释放前视的图像结构体cvDestroyWindow("视频播放");																											//释放显示的窗体   

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/44244.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无人机游学技术及前景分析

一、技术概述 无人机,即无人驾驶飞行器,通过远程控制或自主飞行控制系统进行操作。随着科技的快速发展,无人机技术日益成熟,不仅广泛应用于军事侦察、打击等领域,也逐渐渗透到民用市场,包括农业植保、影视…

PostgreSQL17索引优化之支持并行创建BRIN索引

PostgreSQL17索引优化之支持并行创建BRIN索引 最近连续写了几篇关于PostgreSQL17优化器改进的文章,其实感觉还是挺有压力的。对于原理性的知识点,一方面是对这些新功能也不熟悉,为了尽可能对于知识点表述或总结做到准确,因此需要…

华为认证试题有题库吗?华为认证题库怎么领取?

在竞争激烈的就业环境下,若你拥有华为认证将可以提高个人综合能力,更好的适应行业变化。相信大家都有听说过想考取华为初级认证并不困难,因为它有专门的题库供考生备考。 那么,到底华为认证试题有题库吗?华为认证题库要怎么领取…

java并发编程之美-第1章 并发编程线程基础-线程的创建与运行

文章目录 1.什么是线程2. 线程创建和运行 1.什么是线程 进程是操作系统进行资源分配和调度的基本单位,线程是 CPU 分配的基本单位。 程序计数器用来记录线程当前要执行的指令地址。CPU一般是使用时间片轮转方式让线程轮询占用的,程序计数器是记录线程…

【Django】报错‘staticfiles‘ is not a registered tag library

错误截图 错误原因总结 在django3.x版本中staticfiles被static替换了,所以这地方换位static即可完美运行 错误解决

callBack方式实现threejs点击事件Raycaster

我用的的示例类发方式来初始化场景。 类里面定义点击方法。 initMouse(fun) {window.addEventListener("click", (event) > {this.clickObject(event, fun);});}// 鼠标事件clickObject(event, fun) {// 计算点击位置的归一化设备坐标const mouse new THREE.Ve…

IO模型理论学习

1、什么是IO 计算机视角下的io AIO

“泰迪·曲靖师范学院数学与统计学院数据科学教学实训平台”工作室签约揭牌仪式圆满结束

为深化校企合作,实现应用型人才培养目标。泰迪智能科技携手曲靖师范学院数学与统计学院共建“数据科学教学实训平台工作室”。 2024年7月10日,“‌泰迪数学与统计学院数据科学教学实训平台”工作室揭牌仪式在曲靖师范学院举行。泰迪智能科技昆明分公司院…

LPRNet 车牌识别部署 rk3588(pt-onnx-rknn)包含各个步骤完整板端代码

虽然车牌识别技术很成熟了,但完全没有接触过。一直想搞一下、整一下、试一下、折腾一下,工作之余找了一个简单的例子入个门。本博客简单记录一下 LPRNet 车牌识别部署 rk3588流程,训练参考 LPRNet 官方代码。 1、导出onnx   导出onnx很容易…

SW - 将面导出为dxf

文章目录 SW - 将面导出为dxf概述笔记原点问题END SW - 将面导出为dxf 概述 在做PCB板框. 以前做过一个笔记,用autoCAD来制作导出dxf(cadence SPB17.4 - 用autoCAD2022画一个PCB板框)。 不喜欢用autoCAD(相对麻烦), 还是喜欢用SW&#xff0…

异步日志:性能优化的金钥匙

一、背景 2024 年 4 月的一个宁静的夜晚,正当大家忙完一天的工作准备休息时,应急群里“咚咚咚”开始报警,提示我们余利宝业务的赎回接口成功率下降。 通过 Monitor 监控发现,该接口的耗时已经超过了网关配置的超时阈值(2s)&#…

Spring Cloud Alibaba整合Seata实战

Spring Cloud Alibaba整合Seata实战 1.启动Seata Server 1.1 环境准备 1)指定nacos作为配置中心和注册中心 修改registry.conf文件 注意:客户端配置registry.conf使用nacos时也要注意group要和seata server中的group一致,默认group是&quo…

Linux--生产消费模型

线程系列: Linux–线程的认识(一) Linux–线程的分离、线程库的地址关系的理解、线程的简单封装(二) 线程的互斥:临界资源只能在同一时间被一个线程使用 生产消费模型 生产消费模型是多线程编程和分布式系统中的一个经典概念&…

我们水冷使制动电阻功率密度成倍增加-水冷电阻设计工厂

先进陶瓷 我们后来发现工业应用中对占用空间最小的水冷电阻器的工业需求,推出了适用于中压工业应用的水冷电阻器。它的特点是两块由具有特殊性能的先进陶瓷制成的板。 使用工业电驱动装置的一个重要好处是,可靠的再生和动态制动系统可以补充或取代传统…

Laravel :如何将Excel文件导入数据库

文章目录 一、前提二、使用2.1、新建一个导入文件2.2、新建一个控制器和方法,调用导入文件2.3、 新建一个页面,支持文件上传 一、前提 想要将excel内容入库,laravel有扩展可以使用,常用的扩展是maatwebsite/excel,安装步骤参考上一篇&#x…

Mosh|SQL教程第四弹(未完)

SQL有很多自带的内聚的函数(MAX、MIN、AVG、SUM、COUNT) 一、聚合函数(Aggregate Functions) 这里的括号可以写列名也可以写表达式,下面是一个练习: 二、GROUP BY子句 统计2019-07-01以后每个客户的总销售额 注意这…

Javaweb11-Filter过滤器

Filter过滤器 1.Filter的基本概念: 在Java Servlet中,Filter接口是用来处理HttpServletRequest和HttpServletResponse的对象的过滤器。主要用途是在请求到达Servlet之前或者响应离开Servlet之前对请求或响应进行预处理或后处理。 2.Filter常见的API F…

探展2024世界人工智能大会之合合信息扫描黑科技~

文章目录 ⭐️ 前言⭐️ AIGC古籍修复文化遗产焕新⭐️ 高效的文档图像处理解决方案⭐️ AIGC扫描黑科技一键全搞定⭐️ 行业级的大模型加速器⭐️ 结语 ⭐️ 前言 大家好,我是 哈哥(哈哥撩编程) ,这次非常荣幸受邀作为专业观众参…

重磅!新公司法正式实施,这些变化你必须知道! ️

新公司法来了!企业设立和经营必知的关键变动 🏛️🚀 大家好,我是猫头虎,科技自媒体博主。今天我们来聊聊一件大事——新公司法的实施,这对企业设立和经营带来了哪些重大影响?跟着我&#xff0c…

【DDIM】DENOISING DIFFUSION IMPLICIT MODELS【论文精读】【视频讲解】【公式推导】

论文:DENOISING DIFFUSION IMPLICIT MODELS(https://arxiv.org/abs/2010.02502) B站视频链接 DDIM论文精讲视频 去噪扩散隐模型的论文精读,涉及本文的大部分公式逐步推导。总计3小时的详细论文讲解。 讲解详细对应文档 DDIM视频…