女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

OpenCV4.8+YOLOv8對象檢測C++推理演示

OpenCV學堂 ? 來源:OpenCV學堂 ? 2023-09-27 11:07 ? 次閱讀

自從YOLOv5更新成7.0版本,YOLOv8推出以后,OpenCV4.6以前的版本都無法再加載導出ONNX格式模型了,只有OpenCV4.7以上版本才可以支持最新版本YOLOv5與YOLOv8模型的推理部署。首先看一下最新版本的YOLOv5與YOLOv8的輸入與輸出格式:

0533c230-5c7e-11ee-939d-92fbcf53809c.png

05404960-5c7e-11ee-939d-92fbcf53809c.png

ni hao

std::stringonnxpath="D:/python/yolov5-7.0/yolov5s.onnx";
autonet=cv::readNetFromONNX(onnxpath);

net.setPreferableBackend(cv::DNN_BACKEND_OPENCV);
net.setPreferableTarget(cv::DNN_TARGET_CPU);

cv::VideoCapturecapture("D:/images/video/sample.mp4");
cv::Matframe;
while(true){
boolret=capture.read(frame);
if(frame.empty()){
break;
}
int64start=cv::getTickCount();
//圖象預處理-格式化操作
intw=frame.cols;
inth=frame.rows;
int_max=std::max(h,w);
cv::Matimage=cv::Size(_max,_max),CV_8UC3);
cv::Rectroi(0,0,w,h);
frame.copyTo(image(roi));

floatx_factor=image.cols/640.0f;
floaty_factor=image.rows/640.0f;

//推理
cv::Matblob=cv::blobFromImage(image,1/255.0,cv::Size(640,640),cv::Scalar(0,0,0),true,false);
net.setInput(blob);
cv::Matpreds=net.forward();

//后處理,1x25200x85
cv::Matdet_output(preds.size[1],preds.size[2],CV_32F,preds.ptr());
floatconfidence_threshold=0.5;
std::vectorboxes;
std::vectorclassIds;
std::vectorconfidences;
for(inti=0;i(i,4);
if(confidence0.25)
{
floatcx=det_output.at(i,0);
floatcy=det_output.at(i,1);
floatow=det_output.at(i,2);
floatoh=det_output.at(i,3);
intx=static_cast((cx-0.5*ow)*x_factor);
inty=static_cast((cy-0.5*oh)*y_factor);
intwidth=static_cast(ow*x_factor);
intheight=static_cast(oh*y_factor);
cv::Rectbox;
box.x=x;
box.y=y;
box.width=width;
box.height=height;

boxes.push_back(box);
classIds.push_back(classIdPoint.x);
confidences.push_back(score);
}
}

//NMS
std::vectorindexes;
cv::NMSBoxes(boxes,confidences,0.25,0.50,indexes);
for(size_ti=0;i(cv::getTickFrequency());
putText(frame,cv::format("FPS:%.2f",1.0/t),cv::Point(20,40),cv::FONT_HERSHEY_PLAIN,2.0,cv::Scalar(255,0,0),2,8);

charc=cv::waitKey(1);
if(c==27){
break;
}
cv::imshow("OpenCV4.8+YOLOv5",frame);
}

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C++
    C++
    +關注

    關注

    22

    文章

    2117

    瀏覽量

    74778
  • 模型
    +關注

    關注

    1

    文章

    3486

    瀏覽量

    49990
  • OpenCV
    +關注

    關注

    32

    文章

    642

    瀏覽量

    42432

原文標題:OpenCV4.8+YOLOv8對象檢測C++推理演示

文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學堂】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    OpenCV C++程序編譯與演示

    1、在JetsonNano上編譯OpenCV源碼與OpenCV C++ YOLOv5程序演示  編譯Op
    發表于 11-10 16:42

    使用Yolov5 - i.MX8MP進行NPU錯誤檢測是什么原因?

    一段時間以來,我一直在努力嘗試讓 NPU 檢測C++ 程序一起工作。同樣的代碼在 CPU 上得到了最佳結果,但是使用 VX delegate 檢測是完全錯誤的。代碼似乎運行順利,推理
    發表于 03-31 07:38

    C++演示中的推理速度比Python演示中的推理速度更快是為什么?

    在同一主機機上采用相同型號的 Ran Object Detection C++ 演示對象檢測 Python 演示
    發表于 08-15 06:52

    YOLOv5在OpenCV上的推理程序

    YOLOv5官方給出的YOLOv5在OpenCV推理的程序相對來說是比較通俗易懂的,條理清晰,有基本的封裝,直接可用!但是我也發現,模型的推理
    的頭像 發表于 11-02 10:16 ?2322次閱讀

    TensorRT 8.6 C++開發環境配置與YOLOv8實例分割推理演示

    YOLOv8實例分割TensorRT 推理代碼已經完成C++類封裝,三行代碼即可實現YOLOv8對象
    的頭像 發表于 04-25 10:49 ?6782次閱讀
    TensorRT 8.6 <b class='flag-5'>C++</b>開發環境配置與<b class='flag-5'>YOLOv8</b>實例分割<b class='flag-5'>推理</b><b class='flag-5'>演示</b>

    教你如何用兩行代碼搞定YOLOv8各種模型推理

    大家好,YOLOv8 框架本身提供的API函數是可以兩行代碼實現 YOLOv8 模型推理,這次我把這段代碼封裝成了一個類,只有40行代碼左右,可以同時支持YOLOv8
    的頭像 發表于 06-18 11:50 ?3633次閱讀
    教你如何用兩行代碼搞定<b class='flag-5'>YOLOv8</b>各種模型<b class='flag-5'>推理</b>

    用OpenVINO? C++ API編寫YOLOv8-Seg實例分割模型推理程序

    本文章將介紹使用 OpenVINO 2023.0 C++ API 開發YOLOv8-Seg 實例分割(Instance Segmentation)模型的 AI 推理程序。本文 C++
    的頭像 發表于 06-25 16:09 ?2092次閱讀
    用OpenVINO? <b class='flag-5'>C++</b> API編寫<b class='flag-5'>YOLOv8</b>-Seg實例分割模型<b class='flag-5'>推理</b>程序

    YOLOv8對象檢測ONNXRUNTIME部署C++源碼演示

    ONNXRUNTIME是主流的深度學習部署框架之一,支持ONNX格式模型在CPU、GPU、ARM等不同硬件平臺上加速推理,支持C++、Python、Java、C#、JS等不同語言SDK。C++
    的頭像 發表于 07-17 11:13 ?8964次閱讀
    <b class='flag-5'>YOLOv8</b><b class='flag-5'>對象</b><b class='flag-5'>檢測</b>ONNXRUNTIME部署<b class='flag-5'>C++</b>源碼<b class='flag-5'>演示</b>

    三種主流模型部署框架YOLOv8推理演示

    部署。這里以YOLOv8為例,演示YOLOv8對象檢測模型在OpenVINO、ONNXRUNTIME、TensorRT三個主流框架上
    的頭像 發表于 08-06 11:39 ?3078次閱讀

    YOLOv8+OpenCV實現DM碼定位檢測與解析

    YOLOv8是YOLO系列模型的最新王者,各種指標全面超越現有對象檢測與實例分割模型,借鑒了YOLOv5、YOLOv6、YOLOX等模型的設
    的頭像 發表于 08-10 11:35 ?1602次閱讀
    <b class='flag-5'>YOLOv8+OpenCV</b>實現DM碼定位<b class='flag-5'>檢測</b>與解析

    YOLOv8實現旋轉對象檢測

    YOLOv8框架在在支持分類、對象檢測、實例分割、姿態評估的基礎上更近一步,現已經支持旋轉對象檢測(OBB),基于DOTA數據集,支持航拍圖
    的頭像 發表于 01-11 10:43 ?2405次閱讀
    <b class='flag-5'>YOLOv8</b>實現旋轉<b class='flag-5'>對象</b><b class='flag-5'>檢測</b>

    基于QT5+OpenCV+OpenVINO C++的應用打包過程

    我用QT C++寫了一個YOLOv5模型推理演示應用。
    的頭像 發表于 01-26 10:17 ?1944次閱讀
    基于QT5+<b class='flag-5'>OpenCV</b>+OpenVINO <b class='flag-5'>C++</b>的應用打包過程

    OpenCV4.8 C++實現YOLOv8 OBB旋轉對象檢測

    YOLOv8框架在在支持分類、對象檢測、實例分割、姿態評估的基礎上更近一步,現已經支持旋轉對象檢測(OBB),基于DOTA數據集,支持航拍圖
    的頭像 發表于 02-22 10:15 ?2495次閱讀
    <b class='flag-5'>OpenCV4.8</b> <b class='flag-5'>C++</b>實現<b class='flag-5'>YOLOv8</b> OBB旋轉<b class='flag-5'>對象</b><b class='flag-5'>檢測</b>

    基于OpenCV DNN實現YOLOv8的模型部署與推理演示

    基于OpenCV DNN實現YOLOv8推理的好處就是一套代碼就可以部署在Windows10系統、烏班圖系統、Jetson的Jetpack系統
    的頭像 發表于 03-01 15:52 ?2435次閱讀
    基于<b class='flag-5'>OpenCV</b> DNN實現<b class='flag-5'>YOLOv8</b>的模型部署與<b class='flag-5'>推理</b><b class='flag-5'>演示</b>

    OpenVINO2024 C++推理使用技巧

    很多人都使用OpenVINO新版的C++ 或者Python的SDK,都覺得非常好用,OpenVINO2022之后的版本C++ SDK做了大量的優化與整理,已經是非常貼近開發的使用習慣與推理方式。與
    的頭像 發表于 07-26 09:20 ?1435次閱讀