下载测试工程后可以根据《自动驾驶ADAS算法--测试工程环境搭建-CSDN博客》完成环境的搭建。
测试的exe步伐,无需解压码就可以体验算法测试效果(代码原工程非免费介意无下载)
通过网盘分享的文件:后视碰撞预警
链接: https://pan.baidu.com/s/1j6FZKLPLN2RN9SdwZso0uA 提取码: vdh3
1、压缩包解压后显示如下所示
测试文件包括:可实行的exe文件、测试的视频等。
2.双击exe就可以运行测试步伐,测试步伐界面显示如下所示:
测试效果如下所示:
假造视频测试效果图片
实车测试效果图片
假造视频测试效果视频
自动驾驶ADAS算法--基于yolo的后视图像碰撞预警假造测试结果
实车测试效果视频
自动驾驶ADAS算法--基于yolo的后视图像碰撞预警实车测试结果
部门代码实现如下所示:
- // TODO: 在此添加控件通知处理程序代码
- int c = 0;
- int frameRate = 10;
- Mat frame;
- namedWindow("video-demo", WINDOW_AUTOSIZE);
- VideoCapture capture;
- //连接视频
- capture.open("晴天后视碰撞.avi");
- if (!capture.isOpened()) {
- printf("could not load video data...\n");
- }
- int frames = capture.get(CAP_PROP_FRAME_COUNT);//获取视频针数目(一帧就是一张图片)
- double fps = capture.get(CAP_PROP_FPS);//获取每针视频的频率
- // 获取帧的视频宽度,视频高度
- Size size = Size(capture.get(CAP_PROP_FRAME_WIDTH), capture.get(CAP_PROP_FRAME_HEIGHT));
- cout << frames << endl;
- cout << fps << endl;
- cout << size << endl;
- VideoWriter writer("result.avi", VideoWriter::fourcc('M', 'J', 'P', 'G'), fps, Size(JS_IMG_W, JS_IMG_H));
- int alarmFalg = 0;
- int alarmIndex = 0;
- //step2:load labels
- js_yolo_loadLabels("coco.names");
- int FrameNum = 0;
- //step-3:load onnx model
- std::string onnxpath = "yolo11n.onnx";
- js_yolo_loadModes(onnxpath);
- js_initObjList(&g_ttc_objlist_B);
- js_initMultObjList(&g_ttc_objlist_Mult_B);
- for (;;)
- {
- //将视频转给每一张张图进行处理
- capture >> frame;
- //step-5:get infer result
- int64 start = cv::getTickCount();
- int w = frame.cols;
- int h = frame.rows;
- if (w > 0 && h > 0)
- {
- //运行函数
- js_yolo_run(frame, w, h);
- // NMS
- js_yolo_NMS(); //js_yolo_NMS(frame);
-
- //初始化算法结构体
- js_yolo_initObj(&g_ttc_objlist_B);
- float data_TOP_A[9], data_TOP_A_T[9];
- js_3Dpointf Pdst;
- js_pointf PsrcLF3, PsrcRF3, PsrcLF1, PsrcRF1, PsrcLF2, PsrcRF2;
- JS_Parameter para;
- js_fc fc;
- js_init_Parameter(¶);
- js_initfc(&fc);
- js_initAngle(data_TOP_A, para.rx, para.ry, para.rz);
- js_initAngleT(data_TOP_A, data_TOP_A_T);
- for (int i = 0; i < 9; i++)printf("%f ", data_TOP_A_T[i]);
- //多帧跟踪 g_ttc_objlist_Mult_B
- int ttflag = 0;
- js_MultTrack(g_ttc_objlist_B, &g_ttc_objlist_Mult_B, 0.2);
- js_getSpeed_ttc_wordp(&g_ttc_objlist_Mult_B, data_TOP_A_T, para, fc, 33);
-
-
- putTextZH(frame, " 金书世界 \nwww.jinshushijie.com", cv::Point(10, 20), Scalar(255, 0, 0), 40, "楷体", false, false); //输出文字到图像上
- FrameNum++;
- writer << frame;
- //视频播放完退出
- if (frame.empty())break;
- imshow("video-demo", frame);
- //在视频播放期间按键退出
- if (waitKey(33) >= 0) break;
- }
- }
- //释放
- capture.release();
- g_yolo_session_options.release();
- js_yolo_release();
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |