自動駕駛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.pswp.cn/web/44244.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/44244.shtml
英文地址,請注明出處:http://en.pswp.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很容易…

EtherCAT設備配置:SCI EoeMacIp 文件與實際設備配置的比較過程

標題:EtherCAT設備配置:SCI文件與實際設備配置的比較過程 在工業自動化領域,EtherCAT(Ethernet for Control Automation Technology)作為一種高效的實時以太網協議,正在被廣泛應用。在EtherCAT網絡的配置過…

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…

我的PHP8編譯日志

編譯命令在arm和x86架構上是一樣的,如果缺少依賴庫,按需要安裝: 登錄后復制 yuminstall libcurl libcurl-devel yum install openssl openssl-devel yum install pcre2 pcre2-devel yum install libxml2 libxml2-devel 1.2.3.4. 配置和編譯&…

Linux--生產消費模型

線程系列: Linux–線程的認識(一) Linux–線程的分離、線程庫的地址關系的理解、線程的簡單封裝(二) 線程的互斥:臨界資源只能在同一時間被一個線程使用 生產消費模型 生產消費模型是多線程編程和分布式系統中的一個經典概念&…

我們水冷使制動電阻功率密度成倍增加-水冷電阻設計工廠

先進陶瓷 我們后來發現工業應用中對占用空間最小的水冷電阻器的工業需求,推出了適用于中壓工業應用的水冷電阻器。它的特點是兩塊由具有特殊性能的先進陶瓷制成的板。 使用工業電驅動裝置的一個重要好處是,可靠的再生和動態制動系統可以補充或取代傳統…

Llama2 訓練指南

Llama2 是一個基于 Python 的機器學習框架,旨在幫助開發者快速構建和部署機器學習模型。下面是 Llama2 訓練指南,旨在幫助您了解如何使用 Llama2 訓練模型。 概述 Llama2 提供了多種方式來訓練模型,包括使用 Keras 和 TensorFlow。下面是在…

Laravel :如何將Excel文件導入數據庫

文章目錄 一、前提二、使用2.1、新建一個導入文件2.2、新建一個控制器和方法,調用導入文件2.3、 新建一個頁面,支持文件上傳 一、前提 想要將excel內容入庫,laravel有擴展可以使用,常用的擴展是maatwebsite/excel,安裝步驟參考上一篇&#x…

力扣 202快樂數

快樂數這題有兩個關鍵 一個是求n的 各個位上平方和 另一個是判斷是否為快樂數的依據是是否在哈希表中找到已經出現過的數 1求各個位上平方和方法 定義sum sum N除以十取余的平方和 n/10 循環終止條件是n0 2查找一個數是否出現,用哈希表unordered_set &…

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

SQL有很多自帶的內聚的函數(MAX、MIN、AVG、SUM、COUNT) 一、聚合函數(Aggregate Functions) 這里的括號可以寫列名也可以寫表達式,下面是一個練習: 二、GROUP BY子句 統計2019-07-01以后每個客戶的總銷售額 注意這…