【《基于计算机视觉测距的英伟达智能小车制动系统设计》15000字(论文)】_第1页
【《基于计算机视觉测距的英伟达智能小车制动系统设计》15000字(论文)】_第2页
【《基于计算机视觉测距的英伟达智能小车制动系统设计》15000字(论文)】_第3页
【《基于计算机视觉测距的英伟达智能小车制动系统设计》15000字(论文)】_第4页
【《基于计算机视觉测距的英伟达智能小车制动系统设计》15000字(论文)】_第5页
已阅读5页,还剩33页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于计算机视觉测距的英伟达智能小车制动系统设计目录第一章绪论 1TOC\o"1-3"\h\u288361.1引言 参考文献[1]程新新.基于环境感知的自动紧急制动系统研究与发现[D].长春工业大学,2020:3-5.[2]商车.权威解读对GB7258修订之处[J].商用汽车新闻,2017(Z2):13-16.[3]李佳旺.基于计算机视觉的前方车辆检测及测距研究[D].浙江工商大学,2018:2-5.[4]BroggiA,CappalungaA,CattaniS,etal.LateralvehiclesdetectionusingmonocularhighresolutioncamerasonTerraMaxTM[C]//IntelligentVehiclesSymposium.IEEE,2008:1143-1148.[5]ArrospideJ,SalgadoL,NietoM.Vehicledetectionandtrackingusinghomography-basedplanerectificationandparticlefiltering[C]//IntelligentVehiclesSymposium.IEEE,2010:150-155.[6]JazayeriA,CaiH,ZhengJY,etal.Motionbasedvehicleidentificationincarvideo[J].2010,23(3):493-499.[7]KhammariA,NashashibiF,AbramsonY,etal.VehicledetectioncombininggradientanalysisandAdaBoostclassification[C]//IntelligentTransportationSystems,2005.Proceedings.IEEE,2005:66-71.[8]MoranoduzzoT,MelganiF.AutomaticCarCountingMethodforUnmannedAerialVehicleImages[J].IEEETransactionsonGeoscience&RemoteSensing.2013,52(3):1635-1647.[9]ChengHY,WengCC,ChenYY.VehicledetectioninaerialsurveillanceusingdynamicBayesiannetworks.[J].IEEETransactionsonImageProcessingAPublicationpftheIEEESignalprocessingSociety,2012,21(4):2152.[10]徐友春,李克强,连小珉,等.智能车辆机器视觉发展近况[J].汽车工程,2003,25(5):438-443.[11]QiuChengWang,ZhouKaiXie,WeiGuoLiu,HaiTaoXiao.ResearchonSimulationandReconstructionofVehicle-PedestrianCollisionBasedonMulti-BodyDynamics[J].AdvancedMaterialsResearch,2012,1684.[12]任凤雷.基于智能车辆视觉导航的环境感知技术研究[D].中国科学院大学,2020:5-11.[13]刘志强,汪澎,秦洪懋,仲晶晶,宋世亮.基于多信息检测的车辆智能防撞预警技术研究[J].中国安全科学学报,2010,20(1):153-158.[14]任晓奎,郭海雯.基于超声波和GPS技术的车辆防碰撞预警系统[J].计算机测量与控制,2013,21(3):694-696.[15]郑锐.毫米波汽车防撞雷达的设计与实现[D].江苏大学,2010.[16]尹小琴,朱喜行,张盼盼,等.基于车路协同的高速公路车辆碰撞预警模型[J].汽车工程,2014,36(9):1080-1084.[17]吕万修.车辆检测跟踪系统研究[D].吉林大学,2003.[18]陈涛,方威,安林芳.基于DSRC的车辆防追尾预警算法[J].汽车安全与节能学报,2017(2).[19]裴晓飞,刘昭度,马国成,等.汽车主动避撞系统的安全距离模型和目标检测算法[J].汽车安全与节能学报,2012,3(01):26-33.[20]马浩越.前方车辆主动防撞预警系统关键技术研究[D].长安大学,2019[21]任德鸿.车辆辅助紧急制动系统研究与应用[J].内燃机与配件,2021(06):12-13.[22]赵垚森.基于机器视觉与激光雷达的前车防撞预警系统设计[D].重庆交通大学,2019.附录相机标定代码importcv2importnumpyasnpimportglob#找棋盘格角点#设置寻找亚像素角点的参数,采用的停止准则是最大循环次数30和最大误差容限0.001criteria=(cv2.TERM_CRITERIA_EPS+cv2.TERM_CRITERIA_MAX_ITER,30,0.001)#阈值#棋盘格模板规格w=4#10-1h=4#7-1#世界坐标系中的棋盘格点,例如(0,0,0),(1,0,0),(2,0,0),(8,5,0),去掉Z坐标,记为二维矩阵objp=np.zeros((w*h,3),np.float32)objp[:,:2]=np.mgrid[0:w,0:h].T.reshape(-1,2)objp=objp*18.1#18.1mm#储存棋盘格角点的世界坐标和图像坐标对objpoints=[]#在世界坐标系中的三维点imgpoints=[]#在图像平面的二维点#加载pic文件夹下所有的jpg图像images=glob.glob('chess/*.jpg')#拍摄的十几张棋盘图片所在目录i=0forfnameinimages:img=cv2.imread(fname)#获取画面中心点#获取图像的长宽h1,w1=img.shape[0],img.shape[1]gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)u,v=img.shape[:2]#找到棋盘格角点ret,corners=cv2.findChessboardCorners(gray,(w,h),None)#如果找到足够点对,将其存储起来ifret==True:print("i:",i)i=i+1#在原角点的基础上寻找亚像素角点cv2.cornerSubPix(gray,corners,(11,11),(-1,-1),criteria)#追加进入世界三维点和平面二维点中objpoints.append(objp)imgpoints.append(corners)#将角点在图像上显示cv2.drawChessboardCorners(img,(w,h),corners,ret)dWindow('findCorners',cv2.WINDOW_NORMAL)cv2.resizeWindow('findCorners',640,480)cv2.imshow('findCorners',img)cv2.waitKey(200)cv2.destroyAllWindows()#%%标定print('正在计算')#标定ret,mtx,dist,rvecs,tvecs=\cv2.calibrateCamera(objpoints,imgpoints,gray.shape[::-1],None,None)print("ret:",ret)print("mtx:\n",mtx)#内参数矩阵print("dist畸变值:\n",dist)#畸变系数distortioncofficients=(k_1,k_2,p_1,p_2,k_3)print("rvecs旋转(向量)外参:\n",rvecs)#旋转向量#外参数print("tvecs平移(向量)外参:\n",tvecs)#平移向量#外参数newcameramtx,roi=cv2.getOptimalNewCameraMatrix(mtx,dist,(u,v),0,(u,v))print('newcameramtx外参',newcameramtx)#打开摄像机camera=cv2.VideoCapture(0)whileTrue:(grabbed,frame)=camera.read()h1,w1=frame.shape[:2]newcameramtx,roi=cv2.getOptimalNewCameraMatrix(mtx,dist,(u,v),0,(u,v))#纠正畸变dst1=cv2.undistort(frame,mtx,dist,None,newcameramtx)#dst2=cv2.undistort(frame,mtx,dist,None,newcameramtx)mapx,mapy=cv2.initUndistortRectifyMap(mtx,dist,None,newcameramtx,(w1,h1),5)dst2=cv2.remap(frame,mapx,mapy,cv2.INTER_LINEAR)#裁剪图像,输出纠正畸变以后的图片x,y,w1,h1=roidst1=dst1[y:y+h1,x:x+w1]#cv2.imshow('frame',dst2)#cv2.imshow('dst1',dst1)cv2.imshow('dst2',dst2)ifcv2.waitKey(1)&0xFF==ord('q'):#按q保存一张图片cv2.imwrite("../u4/frame.jpg",dst1)breakcamera.release()cv2.destroyAllWindows()测距代码importnumpyasnp#导入numpy库importcv2#导入Opencv库NOWN_DISTANCE=6#这个距离自己实际测量一下KNOWN_WIDTH=11.69#A4纸的宽度KNOWN_HEIGHT=8.27IMAGE_PATHS=["./picture/picture2.jpg","./picture/picture1.jpg","./picture/picture.jpg"]#将用到的图片放到了一个列表中#定义目标函数deffind_marker(image):gray_img=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)gray_img=cv2.GaussianBlur(gray_img,(5,5),0)#高斯平滑去噪edged_img=cv2.Canny(gray_img,35,125)#Canny算子阈值化cv2.imshow("降噪效果图",edged_img)#显示降噪后的图片#获取纸张的轮廓数据print(edged_img.copy(),cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)countours,hierarchy=cv2.findContours(edged_img.copy(),cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)#print(len(countours))c=max(countours,key=cv2.contourArea)#获取最大面积对应的点集rect=cv2.minAreaRect(c)#最小外接矩形returnrect#定义距离函数defdistance_to_camera(knownWidth,focalLength,perWidth):return(knownWidth*focalLength)/perWidth#计算摄像头的焦距(内参)defcalculate_focalDistance(img_path):first_image=cv2.imread(img_path)#这里根据准备的第一张图片,计算焦距#cv2.imshow('firstimage',first_image)marker=find_marker(first_image)#获取矩形的中心点坐标,长度,宽度和旋转角度focalLength=(marker[1][0]*KNOWN_DISTANCE)/KNOWN_WIDTH#获取摄像头的焦距#print(marker[1][0])print('焦距(focalLength)=',focalLength)#打印焦距的值returnfocalLength#计算摄像头到物体的距离defcalculate_Distance(image_path,focalLength_value):image=cv2.imread(image_path)#cv2.imshow("原图",image)marker=find_marker(image)#获取矩形的中心点坐标,长度,宽度和旋转角度,marke[1][0]代表宽度distance_inches=distance_to_camera(K

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论