下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大实验(选题三:道路识别综合实践)一、实验目的1、理解传统道路识别的4个核心模块:预处理→特征提取→几何分析→后处理;2、能够采用传统OpenCV实现道路识别;3、理解百度飞桨(PaddlePaddle)结合OpenCV的道路识别技术方案:“数据驱动+传统优化”的混合架构;4、理解深度学习与传统视觉融合的应用方法;5、能够采用百度飞桨(PaddlePaddle)结合OpenCV实现道路识别。二、实验内容任务一:使用传统OpenCV实现道路识别1.实验环境安装。(1)安装Python。(2)安装库。pipinstallopencv-pythonnumpy2.配置开发环境(1)若使用PyCharm:创建新项目时选择已安装的Python解释器。(2)若使用命令行:无需额外配置,确保Python已添加到系统环境变量。3.使用OpenCV库实现结构化道路环境的道路识别。具体步骤和参考代码如下:#(1)图像采集与预处理importcv2importnumpyasnp#视频源设置cap=cv2.VideoCapture('road.mp4')width,height=640,480#建议分辨率whilecap.isOpened():ret,frame=cap.read()ifnotret:break#尺寸归一化frame=cv2.resize(frame,(width,height))#光照补偿(CLAHE)lab=cv2.cvtColor(frame,cv2.COLOR_BGR2LAB)l,a,b=cv2.split(lab)clahe=cv2.createCLAHE(clipLimit=2.0,tileGridSize=(8,8))limg=clahe.apply(l)enhanced=cv2.merge((limg,a,b))rgb=cv2.cvtColor(enhanced,cv2.COLOR_LAB2BGR)#(2)道路特征提取#车道线特征增强gray=cv2.cvtColor(rgb,cv2.COLOR_BGR2GRAY)blur=cv2.GaussianBlur(gray,(5,5),0)#边缘检测(参数需调优)edges=cv2.Canny(blur,50,150,apertureSize=3)#色彩阈值分割(沥青路面)hsv=cv2.cvtColor(rgb,cv2.COLOR_BGR2HSV)lower_asphalt=np.array([90,50,50])upper_asphalt=np.array([120,255,255])mask=cv2.inRange(hsv,lower_asphalt,upper_asphalt)#(3)几何分析与车道检测#透视变换(示例坐标需校准)src_pts=np.float32([[width*0.45,height*0.65],[width*0.55,height*0.65],[width*0.9,height*0.9],[width*0.1,height*0.9]])dst_pts=np.float32([[0,0],[width,0],[width,height],[0,height]])M=cv2.getPerspectiveTransform(src_pts,dst_pts)warped=cv2.warpPerspective(edges,M,(width,height))#霍夫变换检测直线lines=cv2.HoughLinesP(warped,1,np.pi/180,threshold=30,minLineLength=40,maxLineGap=20)#车道线拟合left_lines,right_lines=[],[]forlineinlines:x1,y1,x2,y2=line[0]k=(y2-y1)/(x2-x1+1e-5)ifk<-0.5:left_lines.append(line)elifk>0.5:right_lines.append(line)#(4)后处理与可视化#绘制检测结果line_img=np.zeros_like(frame)forlineinleft_lines+right_lines:cv2.line(line_img,tuple(line[0][:2]),tuple(line[0][2:]),(0,255,0),3)#逆透视变换还原Minv=cv2.getPerspectiveTransform(dst_pts,src_pts)lane_img=cv2.warpPerspective(line_img,Minv,(width,height))result=cv2.addWeighted(frame,0.8,lane_img,1.0,0)#显示处理流程debug=np.hstack([frame,cv2.cvtColor(edges,cv2.COLOR_GRAY2BGR),result])cv2.imshow('Debug',debug)ifcv2.waitKey(1)&0xFF==ord('q'):break任务二:采用百度飞桨结合OpenCV实现道路识别1.实验环境安装(1)安装Python。(2)安装核心库。pipinstallpaddlepaddleopencv-pythonpaddlehub2.配置开发环境(1)若使用PyCharm:创建新项目时选择已安装的Python解释器。(2)若使用命令行:无需额外配置,确保Python已添加到系统环境变量。3.使用百度飞桨(PaddlePaddle)结合OpenCV实现道路识别具体步骤和参考代码如下:#(1)数据预处理(OpenCV)importcv2importnumpyasnpdefpreprocess(frame):#透视变换获取鸟瞰图src_pts=np.float32([[580,460],[700,460],[1040,680],[260,680]])dst_pts=np.float32([[300,0],[950,0],[950,720],[300,720]])M=cv2.getPerspectiveTransform(src_pts,dst_pts)warped=cv2.warpPerspective(frame,M,(1280,720))#自适应光照补偿lab=cv2.cvtColor(warped,cv2.COLOR_BGR2LAB)l,a,b=cv2.split(lab)clahe=cv2.createCLAHE(clipLimit=3.0,tileGridSize=(8,8))limg=clahe.apply(l)processed=cv2.merge((limg,a,b))returncv2.cvtColor(processed,cv2.COLOR_LAB2BGR)#(2)飞桨模型部署pythonimportpaddlehubashub#加载预训练模型model=hub.Module(name='lanesnet')#或自定义模型#frompaddle.vision.modelsimportresnet50#model=resnet50(pretrained=True)defpaddle_inference(img):input_tensor=paddle.to_tensor(img.transpose(2,0,1)[np.newaxis,...])outputs=model(input_tensor)returnoutputs.numpy()#(3)融合处理核心代码cap=cv2.VideoCapture('road.mp4')whilecap.isOpened():ret,frame=cap.read()ifnotret:break#OpenCV预处理processed=preprocess(frame)#飞桨模型推理mask=paddle_inference(processed)#后处理contours,_=cv2.findContours(mask,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)forcntincontours:cv2.polylines(frame,[cnt],True,(0,255
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025山东菏泽曹县苏教高级中学教师招聘6人参考笔试题库附答案解析
- 2025江西瑞昌市投资有限责任公司下属瑞昌市瑞兴置业有限公司招聘7人备考笔试题库及答案解析
- 2025下半年四川绵阳市盐亭县人力资源和社会保障局面向全县考调30人考试备考题库及答案解析
- 2025广东中山市三角镇水务事务中心招聘水闸、泵站管理人员2人备考笔试题库及答案解析
- 江西省水务集团有限公司2025年第三批社会招聘【34人】备考考试试题及答案解析
- 雅安市名山区茶城建设工程有限公司2025年第二批次公开招聘项目用工员工考试备考题库及答案解析
- 网吧维保合同范本
- 网架结构合同范本
- 耕地赠与合同范本
- 职场新秀合同范本
- AI智能生产平台-AI+质量管理
- 农村山塘维修合同
- 量子点材料的发光性能研究与应用
- 2025广东广州市卫生健康委员会直属事业单位广州市红十字会医院招聘47人(第一次)笔试考试参考题库及答案解析
- 中国外运招聘笔试题库2025
- 建筑物拆除施工沟通协调方案
- 2025食品行业专利布局分析及技术壁垒构建与创新保护策略报告
- 2025四川省教育考试院招聘编外聘用人员15人考试笔试模拟试题及答案解析
- 特许经营教学设计教案
- 2025年智能消防安全系统开发可行性研究报告
- 胎儿窘迫课件
评论
0/150
提交评论