首页IT科技yolo检测车牌(yolo车牌识别、车辆识别、行人识别、车距识别源码(包含单目双目))

yolo检测车牌(yolo车牌识别、车辆识别、行人识别、车距识别源码(包含单目双目))

时间2025-05-04 22:47:00分类IT科技浏览4709
导读:视频效果...

视频效果

车辆识别视频

yolov5车辆识别视频

yolov5 yoloR对比行人车辆识别视频

yolo车距1

完整源码http://www.hedaoapp.com/goods/goodsDetails?pid=4132

系统设计

车牌自动识别是以计算机视觉处理             、数字图像处理                  、模式识别等技术为基础            ,对摄像机所拍摄的车辆图像或者视频图像进行处理分析                   ,得到每辆车的车牌号码      ,从而完成识别的过程            。在此基础上            ,可实现停车场出入口收费管理      、盗抢车辆管理       、高速公路超速自动化管理                  、闯红灯电子警察            、公路收费管理等各种交通监管功能                   。

一       、系统处理流程

车牌自动识别系统的设计包含车辆图像获取                   、车牌区域定位            、车牌特征轮廓提取和车牌内容识别环节      。

二、车牌获取

车牌图像获取是进行车牌识别的首要环节                   ,车牌图像可以从摄像机拍摄的车辆图像或者视频图像中进行抽取      ,车牌图像的获取也可由用户手机拍摄后传入车牌识别系统            。

三                   、灰度图像生成

摄像机拍摄的含有车牌信息的车辆图像是彩色的      ,为了提高车牌识别的抗外界干扰的能力                   ,先将彩色车辆图像生成二值的灰度图像             ,实现基于色调的车牌区域定位                   。由于国内的车牌往往是蓝底白字      ,因此                  ,可以利用图像的色调或者色彩饱和度特征             ,生成二值灰度图像,从而实现更加准确地定位车牌位置      。

四                  、车牌区域定位

车牌区域的定位采用基于形状的方法      。由于车辆图像背景比较复杂                  ,所以应该根据车牌的特征进行初次筛选                   。车牌的特征可以选择中国车牌的大小、比例特征                   ,因为车牌都是固定的矩形形状,通过首先寻找图像上拥有矩形特征的区域            ,然后再抽取这些区域                   ,再结合车牌的长宽的比例特征可以筛选出相应的矩形区域      ,从而实现对车牌的准确定位             。

五             、特征轮廓提取

OpenCV 与 Python 的接口中使用 cv2.fifindContours() 函数来查找检测物体的轮廓      。

图3 和 图4 为特征轮廓提取前后的效果对比图 :

六                  、车牌内容识别

车牌内容识别时            ,通过计算候选车牌区域蓝色数值(均值)的最大值                   ,确定最终的车牌区域                  。对于选定的车牌轮廓      ,首先进行粗定位      ,即对车牌进行左右边界回归处理                   ,去除车牌两边多余的部分             ,然后进行精定位      ,即将车牌送入 CRNN 网络进行字符识别                  ,利用左右边界回归模型             ,预测出车牌的左右边框,进一步裁剪                  ,进行精定位             。基于文字特征的方法是根据文字轮廓特征进行识别                   ,经过相应的算法解析,得到结果。

def find_car_num_brod(): watch_cascade = cv2.CascadeClassifier(D:\pycharm\pycharm_work\chepai\cascade.xml) # 先读取图片 image = cv2.imread("D:\pycharm\pycharm_work\chepai\capture_img\car1.jpg") resize_h = 1000 height = image.shape[0] scale = image.shape[1] / float(image.shape[0]) image = cv2.resize(image, (int(scale * resize_h), resize_h)) image_gray = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY) watches = watch_cascade.detectMultiScale(image_gray, 1.2, 2, minSize=(36, 9), maxSize=(36 * 40, 9 * 40)) ​ print("检测到车牌数", len(watches)) for (x, y, w, h) in watches: cv2.rectangle(image, (x, y), (x + w, y + h), (0, 0, 255), 1) cut_img = image[y + 5:y - 5 + h, x + 8:x + w] # 裁剪坐标为[y0:y1, x0:x1] cut_gray = cv2.cvtColor(cut_img, cv2.COLOR_RGB2GRAY) ​ cv2.imwrite("D:\pycharm\pycharm_work\chepai\num_for_car.jpg", cut_gray) im = Image.open("D:\pycharm\pycharm_work\chepai\num_for_car.jpg") size = 720, 180 mmm = im.resize(size, Image.ANTIALIAS) mmm.save("D:\pycharm\pycharm_work\chepai\num_for_car.jpg", "JPEG", quality=90) break
声明:本站所有文章            ,如无特殊说明或标注                   ,均为本站原创发布                  。任何个人或组织      ,在未征得本站同意时            ,禁止复制      、盗用             、采集                  、发布本站内容到任何网站      、书籍等各类媒体平台                   。如若本站内容侵犯了原著者的合法权益                   ,可联系我们进行处理。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
win7无法打开网页怎么办(在Win7系统中,打不开网页怎么办?) 关键词检索方式(探索WordPress关键词插件的优势和功能)