1.下载yolov8项目源码GitHub - ultralytics/ultralytics: NEW - YOLOv8 in PyTorch > ONNX > OpenVINO > CoreML > TFLite
2.下载opencvReleases - OpenCV,建议版本>=4.7.0,选择下载源码,
windows版本由于使用的编译器与我们所使用的mingw不一致,后续会出现错误,所以我们选择自己编译
3.下载cmake编译工具,添加到环境变量,自行百度,版本选最新即可
4.下载c++编译器mingwhttps://github.com/niXman/mingw-builds-binaries/releases?page=2,版本注意选择好,我这里选择的是11.2.0这个版本,如果选择最新版的后面编译opencv源码时会出现问题(原因未知)
5.使用cmake和mingw编译opencv源码
在opencv源码目录下建立两个文件夹mingw_build和bulid
cmd进入mingw_build执行以下命令
cmake -G "MinGW Makefiles" C:\opencv-4.7.0 -DCMAKE_INSTALL_PREFIX=C:\opencv-4.7.0\build -DEBUILD_TESTS=OFF -DBUILD_PREF_TESTS=OFF
mingw32-make install -j 8
6.完成第五步后,把C:\opencv-4.7.0\build\x64\mingw\bin这一路径添加到环境变量Path中
7.把训练好的.pt权重文件转换成.onnx文件,自行百度
9.修改cmakelist.txt
10.在yolov8源码目录example/YOLOv8-CPP-Inferevce下新建build文件夹,
进入文件夹执行两条命令
cmake .. -G "MinGW Makefiles"
make
注意事项
在第五步编译opencv源码和第10步编译推理文件时,如果出现一些奇怪的报错,比如
could not convert template argument 'cv::obsensor::ComPtr 等错误大都是由于mingw编译器版本,opencv版本不匹配导致的, 目前使用我以上指定的版本已调通。 opencv4.7.0 mingw编译器选择 x86_64-11.2.0-release-posix-sjlj-rt_v9-rev0.7z 编译的opencv源码放在这里 undefined reference to `xxxxx‘