11399| 3
|
[动态] 基于行空板的opencv车辆检测装置 |
本帖最后由 虚怀若谷 于 2024-4-18 17:04 编辑 基于行空板的opencv车辆检测装置车辆检测技术作为物体检测中的一个重要内容,被用于自动驾驶、交通安全等各种领域,让车牌识别,交警线上智能判罚成为可能,为智慧交通系统奠定了基础。本教程我们就来学习如何利用现成的模型,结合行空板、USB摄像头检测并拍摄车辆。 任务目标摄像头模拟电子眼,检测车辆。当检测到有车驶来时,就对该画面进行抓拍,并将抓拍的照片保存到行空板的系统文件里。 知识点
材料清单硬件清单:
软件使用:Mind+编程软件 x1 下载地址:https://mindplus.cc/ 动手实践车辆检测装置主要用于抓拍车辆,即如果摄像头检测到车辆就对该画面进行抓拍,然后将抓拍的照片保存在行空板的系统文件里,后期可以调取里面的照片筛选违规车辆。接下来,通过两个简单的小任务来学习如何制作项目。 任务一:显示实时视频 在此项任务中,打开摄像头,并将摄像头检测到的画面显示在行空板屏幕上。 任务二:完成车辆检测并拍摄功能 在任务一的基础上,加上车辆检测功能,当检测到汽车时,就在终端区域输出“检测到车辆”的信息,对该画面进行抓拍,并将抓拍的照片保存到行空板的系统文件里。 任务一:显示实时视频1.硬件连接将USB摄像头连接到行空板上,如下图。硬件连接成功后,使用USB线将行空板连接到计算机。 2.软件准备
3.编写程序首先观察一下,任务一的界面上都包含哪些元素?标题,显示框,视频内容显示区域,效果如下图。
4.程序运行检查行空板是否已连接到mind+,无误后,点击右上角的运行按钮,程序运行成功后,行空板屏幕上会显示实时画面。 任务二:完成车辆检测功能前面我们讲过,在任务一的基础上,加上车辆检测的功能,当检测到汽车就在终端区域输出“检测到车辆”的信息,并抓拍车辆图片保存到行空板的系统文件里。 1.准备工作按照任务一的“硬件连接”与“软件准备”连接好行空板并准备好mind+软件。 2.编写程序(1)要实现车辆检测的功能,需要提前加载车辆数据模型。提前将汽车数据模型导入到文件系统中的“项目中的文件”,步骤如下: 注意:可直接使用教程提供或者去网上查询下载汽车数据模型(后缀为 .xml 的文件),下载成功后,注意记录模型名称,如“haarcascade_car.xml”。 (2)如何通过程序加载模型?利用“创建级联分类器(casecadeCar)”指令创建一个空的级联分类器对象。由于创建的级联分类器对象是空的,无法进行物体检测。需要通过“对象名(casecadeCar)加载 [汽车数据模型] 模型”指令加载一个训练好的汽车检测模型文件。 (3)如何确保模型加载成功呢?利用“对象名(casecadeCar)是否加载完成”指令来检查分类器是否已经加载了一个训练好的分类器模型。 (4)获得识别结果,使用“对象名(casecade)输入检测图像(img)返回检测结果信息”指令完成对‘img’变量里的图像中的物体检测。为了方便后续处理和分析,我们需要创建变量“ car ”用来存储检测结果。 (5)运行步骤(4)的代码,观察终端区域的运行结果你会发现,当摄像头检测到汽车时,会输出一串数字类型的数据,未检测到汽车时,输出的是一个“()”。因为检测到汽车,输出的是一串数字,所以我们可以通过判断变量car数据的长度,来判断画面中是否有汽车。当变量car数据的长度>0时,说明画面中检测到汽车了,这时终端区域就输出“检测到车辆”。 (6)如何抓拍并保存图片?利用 保存图片(img_src)到(“Mind+.png”)指令就可以将图片保存下来,当然我们也可以使用变量,给不同的图片起不同的名字。完整参考程序如下: 3.程序运行点击右上角的运行按钮,程序运行成功后,你会看见,当摄像头检测到是汽车时,终端区域输出“检测到有车辆”。
如何查看行空板中存的图片呢? 连接行空板10.1.2.3远程终端后,可以看到在文件系统的文件目录下,会多出一个名为“行空板中的文件”。 点击目录中的mindplus文件夹,然后再点击cache文件夹,找到对应的Mind+文件,如“车辆检测.mp”文件的保存位置。点击“车辆检测.mp”,可以看到抓拍的图片文件分别为:1.png、2.png、3.png......。 其中1.png、2.png、3.png......就是从摄像头中获取的图片。右击“xx.png”,选择“下载文件到电脑”,将图片下载到电脑上。记住保存的路径,通过电脑就可以查看摄像头拍摄的图片了。 |
264.23 KB, 下载次数: 2765
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed