色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

在JetsonNano上編譯OpenCV源碼與OpenCV C++ YOLOv5程序演示

OpenCV學堂 ? 來源:OpenCV學堂 ? 作者:OpenCV學堂 ? 2022-11-10 11:28 ? 次閱讀

編譯OpenCV最新4.5.x版本

Jetson Nano自帶的OpenCV版本比較低,Jetpack4.6對應的OpenCV版本為4.1的,有圖為證:

5c9093c8-6012-11ed-8abf-dac502259ad0.png

OpenCV當前最新版本已經到了4.5跟4.6了,4.5.x中OpenCV DNN支持了很多新的模型推理跟新的特性都無法在OpenCV4.1上演示,所以我決定從源碼編譯OpenCV升級版本到 4.5.4,然后我發一個非常好的網站,提供了完整的腳本,于是我直接運行了該腳本就完成了安裝,整個安裝過程需要等待幾個小時,耐心點。這個完整的腳本下載地址如下:

https://github.com/Qengineering/Install-OpenCV-Jetson-Nano
關于腳本每一個步驟的解釋與說明如下:
https://qengineering.eu/install-opencv-4.5-on-jetson-nano.html
這里我也搬運了一下,選擇OpenCV4.5.4版本完成編譯與安裝,對應完整的腳本如下:
#!/bin/bash
set-e

echo"InstallingOpenCV4.5.4onyourJetsonNano"
echo"Itwilltake2.5hours!"

#revealtheCUDAlocation
cd~
sudosh-c"echo'/usr/local/cuda/lib64'>>/etc/ld.so.conf.d/nvidia-tegra.conf"
sudoldconfig

#installthedependencies
sudoapt-getinstall-ybuild-essentialcmakegitunzippkg-configzlib1g-dev
sudoapt-getinstall-ylibjpeg-devlibjpeg8-devlibjpeg-turbo8-devlibpng-devlibtiff-dev
sudoapt-getinstall-ylibavcodec-devlibavformat-devlibswscale-devlibglew-dev
sudoapt-getinstall-ylibgtk2.0-devlibgtk-3-devlibcanberra-gtk*
sudoapt-getinstall-ypython-devpython-numpypython-pip
sudoapt-getinstall-ypython3-devpython3-numpypython3-pip
sudoapt-getinstall-ylibxvidcore-devlibx264-devlibgtk-3-dev
sudoapt-getinstall-ylibtbb2libtbb-devlibdc1394-22-devlibxine2-dev
sudoapt-getinstall-ygstreamer1.0-toolslibv4l-devv4l-utilsqv4l2
sudoapt-getinstall-ylibgstreamer-plugins-base1.0-devlibgstreamer-plugins-good1.0-dev
sudoapt-getinstall-ylibavresample-devlibvorbis-devlibxine2-devlibtesseract-dev
sudoapt-getinstall-ylibfaac-devlibmp3lame-devlibtheora-devlibpostproc-dev
sudoapt-getinstall-ylibopencore-amrnb-devlibopencore-amrwb-dev
sudoapt-getinstall-ylibopenblas-devlibatlas-base-devlibblas-dev
sudoapt-getinstall-yliblapack-devliblapacke-devlibeigen3-devgfortran
sudoapt-getinstall-ylibhdf5-devprotobuf-compiler
sudoapt-getinstall-ylibprotobuf-devlibgoogle-glog-devlibgflags-dev

#removeoldversionsorpreviousbuilds
cd~
sudorm-rfopencv*
#downloadthelatestversion
wget-Oopencv.ziphttps://github.com/opencv/opencv/archive/4.5.4.zip
wget-Oopencv_contrib.ziphttps://github.com/opencv/opencv_contrib/archive/4.5.4.zip
#unpack
unzipopencv.zip
unzipopencv_contrib.zip
#someadministrationtomakeliveeasierlateron
mvopencv-4.5.4opencv
mvopencv_contrib-4.5.4opencv_contrib
#cleanupthezipfiles
rmopencv.zip
rmopencv_contrib.zip

#setinstalldir
cd~/opencv
mkdirbuild
cdbuild

#runcmake
cmake-DCMAKE_BUILD_TYPE=RELEASE
-DCMAKE_INSTALL_PREFIX=/usr
-DOPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules
-DEIGEN_INCLUDE_PATH=/usr/include/eigen3
-DWITH_OPENCL=OFF
-DWITH_CUDA=ON
-DCUDA_ARCH_BIN=5.3
-DCUDA_ARCH_PTX=""
-DWITH_CUDNN=ON
-DWITH_CUBLAS=ON
-DENABLE_FAST_MATH=ON
-DCUDA_FAST_MATH=ON
-DOPENCV_DNN_CUDA=ON
-DENABLE_NEON=ON
-DWITH_QT=OFF
-DWITH_OPENMP=ON
-DBUILD_TIFF=ON
-DWITH_FFMPEG=ON
-DWITH_GSTREAMER=ON
-DWITH_TBB=ON
-DBUILD_TBB=ON
-DBUILD_TESTS=OFF
-DWITH_EIGEN=ON
-DWITH_V4L=ON
-DWITH_LIBV4L=ON
-DOPENCV_ENABLE_NONFREE=ON
-DINSTALL_C_EXAMPLES=OFF
-DINSTALL_PYTHON_EXAMPLES=OFF
-DBUILD_opencv_python3=TRUE
-DOPENCV_GENERATE_PKGCONFIG=ON
-DBUILD_EXAMPLES=OFF..

#runmake
FREE_MEM="$(free-m|awk'/^Swap/{print$2}')"
#Use"-j4"onlyswapspaceislargerthan5.5GB
if[["FREE_MEM"-gt"5500"]];then
NO_JOB=4
else
echo"Duetolimitedswap,makeonlyuses1core"
NO_JOB=1
fi
make-j${NO_JOB}

sudorm-r/usr/include/opencv4/opencv2
sudomakeinstall
sudoldconfig

#cleaning(frees300MB)
makeclean
sudoapt-getupdate

echo"Congratulations!"
echo"You'vesuccessfullyinstalledOpenCV4.5.4onyourJetsonNano"

直接在終端命令行中執行下載下來得腳本文件就可以完成安裝了。我安裝完整之后得顯示如下:

5cad7a1a-6012-11ed-8abf-dac502259ad0.png

驗證與導入安裝好之后的OpenCV4.5.4版本

5ccff90a-6012-11ed-8abf-dac502259ad0.png

OpenCV C++程序編譯與演示

OpenCV YOLOv5跟人臉檢測的演示C++程序是我以前寫好的,直接拿過來,然后構建了一個項目目錄如下:

5cf4b2a4-6012-11ed-8abf-dac502259ad0.png

拷貝到jetson的home目錄下,cmake編譯

5d0a8eda-6012-11ed-8abf-dac502259ad0.png

然后make生成執行文件:

5d45d0c6-6012-11ed-8abf-dac502259ad0.png

運行target

5d699920-6012-11ed-8abf-dac502259ad0.png

顯示運行界面如下:

5dabfe00-6012-11ed-8abf-dac502259ad0.png

5dc7b172-6012-11ed-8abf-dac502259ad0.png

OpenCV DNN人臉檢測演示:

5e0d3bca-6012-11ed-8abf-dac502259ad0.png

CMakeLists.txt文件里面得內容如下:

cmake_minimum_required(VERSION2.8)

#聲明一個cmake工程
project(yolov5_opencv_demo)

#設置編譯模式
#set(CMAKE_BUILD_TYPE"Debug")

#添加OPENCV庫
#指定OpenCV版本,代碼如下
#find_package(OpenCV4.5.4REQUIRED)
#如果不需要指定OpenCV版本,代碼如下
find_package(OpenCVREQUIRED)

include_directories(
./src/)


#添加OpenCV頭文件
include_directories(${OpenCV_INCLUDE_DIRS})

#顯示OpenCV_INCLUDE_DIRS的值
message(${OpenCV_INCLUDE_DIRS})

FILE(GLOB_RECURSETEST_SRC
src/*.cpp
)

#添加一個可執行程序
#語法:add_executable(程序名源代碼文件)
add_executable(targetyolov5_opencv.cpp${TEST_SRC})

#將庫文件鏈接到可執行程序上
target_link_libraries(target${OpenCV_LIBS})

OpenCV+ YOLOv5,CUDA加速支持的源碼

#include
#include
#include

std::stringlabel_map="classes.txt";
intmain(intargc,char**argv){
std::vectorclassNames;
std::ifstreamfp(label_map);
std::stringname;
while(!fp.eof()){
getline(fp,name);
if(name.length()){
classNames.push_back(name);
}
}
fp.close();
std::vectorcolors;
colors.push_back(cv::Scalar(0,255,0));
colors.push_back(cv::Scalar(0,255,255));
colors.push_back(cv::Scalar(255,255,0));
colors.push_back(cv::Scalar(255,0,0));
colors.push_back(cv::Scalar(0,0,255));

std::stringonnxpath="yolov5s.onnx";
autonet=cv::readNetFromONNX(onnxpath);
net.setPreferableBackend(cv::DNN_BACKEND_CUDA);
net.setPreferableTarget(cv::DNN_TARGET_CUDA);
cv::VideoCapturecapture("example_dsh.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.5.4CUDA+YOLOv5",frame);
}
cv::waitKey(0);
cv::destroyAllWindows();
return0;
}

審核編輯:湯梓紅

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

    關注

    8

    文章

    656

    瀏覽量

    29786
  • C++
    C++
    +關注

    關注

    22

    文章

    2115

    瀏覽量

    74154
  • OpenCV
    +關注

    關注

    31

    文章

    636

    瀏覽量

    41787

原文標題:在JetsonNano上編譯OpenCV源碼與OpenCV C++ YOLOv5程序演示

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

收藏 人收藏

    評論

    相關推薦

    OpenCV+CUDA編譯實現YOLOv5能加速

    對比一下,加速效果真得是杠杠滴!所以值得編譯OpenCV+CUDA支持,因為它不光加速深度學習模型推理,對傳統圖像處理均有加速!
    的頭像 發表于 07-18 10:27 ?2707次閱讀
    <b class='flag-5'>OpenCV</b>+CUDA<b class='flag-5'>編譯</b>實現<b class='flag-5'>YOLOv5</b>能加速

    Ubuntu系統下編譯OpenCV4.8源碼記錄

    Jetson開發板編譯OpenCV源碼編譯運行OpenCV
    的頭像 發表于 10-27 16:07 ?1820次閱讀
    Ubuntu系統下<b class='flag-5'>編譯</b><b class='flag-5'>OpenCV</b>4.8<b class='flag-5'>源碼</b>記錄

    RK3568教學實驗箱實現基于YOLOV5的算法物體識別案例詳解

    安裝了所有必要的依賴。這通常包括 torch、torchvision 和 opencv-python。 (2)下載預訓練模型 YOLOv5 提供了多個預訓練模型,可以從官方倉庫或相關資源中下載。 (3
    發表于 12-03 14:56

    【WRTnode2R試用體驗】OpenCV交叉編譯,開發OpenCV C++程序

    。sudo apt-get install cmake cmake-qt-guicmake-gui選好源碼的目錄,這里我桌面上創建了一個目錄叫opencv-mipsel,用來存放編譯
    發表于 10-26 20:25

    【Raspberry Pi 3試用體驗】+編譯opencv

    的跨平臺計算機視覺庫,可以運行在Linux、Windows和Mac OS操作系統。它輕量級而且高效——由一系列C函數和少量C++類構成,同時提供了Python、Ruby、MATLAB等語言的接口
    發表于 05-05 18:13

    求大佬分享RK3399運行瑞芯微官方yolov5 C++代碼

    求大佬分享RK3399運行瑞芯微官方yolov5 C++代碼
    發表于 03-07 06:33

    怎樣使用PyTorch Hub去加載YOLOv5模型

    顯示了PIL和OpenCV圖像源的批量推理。可以打印到控制臺,保存到,支持的環境中顯示到屏幕,并以張量或pandas數據幀的形式返回。對于所有推理選項,請參閱 YOLOv5Auto
    發表于 07-22 16:02

    OpenCV C++程序編譯演示

    1、JetsonNano編譯OpenCV源碼OpenC
    發表于 11-10 16:42

    如何使用Borland C++ Builder6.0來開發OpenCV程序

    本文檔的主要內容詳細介紹的是如何使用Borland C++ Builder6.0來開發OpenCV程序
    發表于 05-26 17:32 ?14次下載
    如何使用Borland <b class='flag-5'>C++</b> Builder6.0來開發<b class='flag-5'>OpenCV</b>的<b class='flag-5'>程序</b>

    YOLOv5OpenCV的推理程序

    YOLOv5官方給出的YOLOv5OpenCV推理的程序相對來說是比較通俗易懂的,條理清晰,
    的頭像 發表于 11-02 10:16 ?2111次閱讀

    C++中使用OpenVINO工具包部署YOLOv5模型

    下載并轉換YOLOv5預訓練模型的詳細步驟,請參考:《基于OpenVINO?2022.2和蝰蛇峽谷優化并部署YOLOv5模型》,本文所使用的OpenVINO是2022.3 LTS版。
    的頭像 發表于 02-15 16:53 ?5846次閱讀

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

    自從YOLOv5更新成7.0版本,YOLOv8推出以后,OpenCV4.6以前的版本都無法再加載導出ONNX格式模型了,只有OpenCV4.7以上版本才可以支持最新版本
    的頭像 發表于 09-27 11:07 ?1728次閱讀
    <b class='flag-5'>OpenCV4.8+YOLOv</b>8對象檢測<b class='flag-5'>C++</b>推理<b class='flag-5'>演示</b>

    RK3568OpenCV編譯移植

    算法豐富多樣,ARM嵌入式平臺上也適用于做算法的移植。本系統選擇將OpenCV3.2.0編譯移植到開發板,開發環境是虛擬機上安裝的Ubuntu16.04。由于
    發表于 12-20 10:08 ?68次下載

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

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

    OpenCV圖像識別C++代碼

    的頭文件 您的C++代碼中,包含以下必要的頭文件: # include # include # include # include # include # include # include 讀取圖像
    的頭像 發表于 07-16 10:42 ?2818次閱讀
    主站蜘蛛池模板: 全黄H全肉禁乱公 | qvod电影 | 婷婷五月久久丁香国产综合 | 语文老师扒开胸罩喂我奶 | 乳色吐息未增删樱花ED在线观看 | 亚洲 日韩 自拍 视频一区 | 国产AV一区二区三区传媒 | 国产精品亚洲在钱视频 | 刺激一区仑乱 | 19十主播福利视频 | 古装性艳史电影在线看 | 高清国产一区 | 老湿机一区午夜精品免费福利 | 一级毛片全部免 | 丰满五十老女人性视频 | 手机在线看片欧美亚洲 | 女同给老师下媚药 | 欧美精品乱码99久久蜜桃 | 人人干人人插 | 印度最猛性ⅹxxxxx | 国产精品人妻午夜福利 | 好大太快了快插穿子宫了 | 亚洲精品天堂自在久久77 | 亚洲乱妇88网 | 99久久国产露脸精品国产吴梦梦 | 国产一区二区三区四区五在线观看 | 国产不卡一卡2卡三卡4卡网站 | 亚洲 欧美 日本 国产 高清 | 青柠在线观看免费播放电影 | 精品国产在线手机在线 | 日韩免费精品视频 | 99久久国产宗和精品1上映 | 最近中文字幕在线看免费完整版 | 国产极品美女视频福利 | 老师那里好大又粗h男男 | 九九热伊人 | 亚久久伊人精品青青草原2020 | 久久精品国产免费 | 龙广在线收听 | 国产人妻人伦精品1国产 | 黄色三级在线 |