当前位置: 首页 > article >正文

自动驾驶AVM环视算法--python版本的前后左右单视角投影模式

c语言版本和算法原理的可以查看本人的其他文档。《自动驾驶AVM环视算法--超广角模式/转向模式/3D碗型投影模式/窄边模式/车轮模式等的实现》本文档进用于展示部分代码的视线,获取方式网盘自行获取(非免费介意勿下载):链接: https://pan.baidu.com/s/1O3nagz3oZFFgaV3-3qFHkQ 提取码: 8vbm 。

测试的环境:

以下是主运行函数的部分代码(仅供参考):

import cv2 
from runFBLR import * 
FBLR=0   #设置视角 0:F 1:B 2:L 3:R
# 导入 MyClass 类  
from runFBLR import avmobjData  

# 创建类的实例  
runFBLR = avmobjData()  



F_open=True
B_open=True
L_open=True
R_open=True
F_video=cv2.VideoCapture("video/Front.avi")
if F_video.isOpened():
    F_ocpn,F_frame=F_video.read()
else:
    F_open=False
B_video=cv2.VideoCapture("video/Back.avi")
if B_video.isOpened():
    B_ocpn,B_frame=B_video.read()
else:
    B_open=False
L_video=cv2.VideoCapture("video/Left.avi")
if L_video.isOpened():
    L_ocpn,L_frame=L_video.read()
else:
    L_open=False
R_video=cv2.VideoCapture("video/Right.avi")
if R_video.isOpened():
    R_ocpn,R_frame=R_video.read()
else:
    R_open=False

CarImage = cv2.imread("top.png")  
print(F_open,B_open,L_open,R_open)
#初始化函数
new_width,new_height=runFBLR.init(FBLR)  
#print("new_width,new_height",new_width,new_height)
resize_CarImage = cv2.resize(CarImage, (new_width, new_height))
#cv2.imshow("resize_CarImage",resize_CarImage)
# 创建一个三通道的彩色图像(RGB),初始值为 0(黑色)  
Dstimg = np.zeros((JS_AVM_IMGH, JS_AVM_IMGW, 3), dtype=np.uint8) 
while F_open and B_open and L_open and R_open:
    F_ret,F_frame=F_video.read()
    B_ret,B_frame=B_video.read()
    L_ret,L_frame=L_video.read()
    R_ret,R_frame=R_video.read()
    if F_frame is None  or B_frame is None or L_frame is None or R_frame is None is None:
        break
    if F_ret==True and B_ret==True and L_ret==True and R_ret==True:
        runFBLR.run(F_frame,B_frame,L_frame,R_frame,Dstimg,FBLR)  
        runFBLR.MPT_test_warpPerspective(resize_CarImage,Dstimg)
        Dstimg=runFBLR.drawTxt(Dstimg)
        cv2.imshow("avmFBLR",Dstimg)
        if cv2.waitKey(25) & 0xFF==27:
            break
F_video.release()
B_video.release()
L_video.release()
R_video.release()
cv2.destroyAllWindows()

注:当前python的版本效率比较低,需要加速的可以自行优化加速代码,实现的过程是从C代码直接转换过来的,没有进行任何的优化加速。

测试实现的效果:

前视

后视

左视

右视


http://www.kler.cn/a/445205.html

相关文章:

  • 使用Python实现量子通信模拟:探索安全通信的未来
  • 深入了解Bootstrap:打造响应式网站的利器
  • Mybatis加密解密查询操作(sql前),where要传入加密后的字段时遇到的问题
  • Pygubu-Designer 使用指南
  • QT c++ 测控系统 一套报警规则(上)
  • java list 和数组互相转换的一些方法
  • SQL进阶技巧:如何计算算法题分发糖果问题?
  • 简单的bytebuddy学习笔记
  • C#中的匿名方法、Lambda表达式、泛型委托
  • 【传感器技术】期末考试试题总结 ver1,电阻式,电感式,电容式,压电式,霍尔式,温度传感器,光电传感器
  • 【Redis经典面试题一】如何解决Redis和数据库一致性的问题?
  • Linux之文件相关命令
  • UE5 物体自动跟随主角镜头转向
  • 群晖利用acme.sh自动申请证书并且自动重载证书的问题解决
  • 基于LSB最低有效位的音频水印嵌入提取算法FPGA实现,包含testbench和MATLAB对比
  • ADOADO.NET基础
  • OpenGL ES 03 加载3张图片并做混合处理
  • 四相机设计实现全向视觉感知的开源空中机器人无人机
  • 共创共建!葡萄城 SpreadJS 完成 HarmonyOS NEXT 操作系统兼容认证
  • tcp_ack函数
  • 前端模块化
  • 【ETCD】ETCD Leader 节点写入数据流程概览
  • 计算机基础知识复习12.20
  • LCD1602显示模块详解
  • 数说故事聚焦“卖车”场景,推出AI汽车销售转化解决方案
  • 【优选算法篇】揭秘快速排序:分治算法如何突破性能瓶颈