From 60dea6618ab01dd02f4cd4bc23127026de96ddbe Mon Sep 17 00:00:00 2001 From: tianzhaixing Date: Thu, 2 Feb 2023 15:38:13 +0800 Subject: [PATCH] add CMakeLists.txt for ncnn-yolov8s-seg and fix default parameter for yolov8.load_param yolov8.load_model Signed-off-by: tianzhaixing --- ncnn-yolov8s-seg/CMakeLists.txt | 32 ++++++++++++++++++++++++++++++++ ncnn-yolov8s-seg/yolov8-seg.cpp | 6 +++--- 2 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 ncnn-yolov8s-seg/CMakeLists.txt diff --git a/ncnn-yolov8s-seg/CMakeLists.txt b/ncnn-yolov8s-seg/CMakeLists.txt new file mode 100644 index 0000000..dcc9088 --- /dev/null +++ b/ncnn-yolov8s-seg/CMakeLists.txt @@ -0,0 +1,32 @@ +cmake_minimum_required(VERSION 3.5) +project(ncnn-yolov8s-seg) +set(CMAKE_BUILD_TYPE Release) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -pie -fPIE -fPIC -Wall -O3") + +find_package(OpenCV REQUIRED) +if (OpenCV_FOUND) + message(STATUS "OpenCV_LIBS: ${OpenCV_LIBS}") + message(STATUS "OpenCV_INCLUDE_DIRS: ${OpenCV_INCLUDE_DIRS}") +else () + message(FATAL_ERROR "opencv Not Found!") +endif (OpenCV_FOUND) + +find_package(OpenMP REQUIRED) +if (OPENMP_FOUND) + message("OPENMP FOUND") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}") +else () + message(FATAL_ERROR "OpenMP Not Found!") +endif () + +include_directories(/usr/local/include) +include_directories(/usr/local/include/ncnn) +link_directories(/usr/local/lib) + +# Source files +file(GLOB SRC "*.h" "*.cpp") + +add_executable(ncnn-yolov8s-seg ${SRC}) +target_link_libraries(ncnn-yolov8s-seg ncnn ${OpenCV_LIBS}) diff --git a/ncnn-yolov8s-seg/yolov8-seg.cpp b/ncnn-yolov8s-seg/yolov8-seg.cpp index 0545563..a220923 100644 --- a/ncnn-yolov8s-seg/yolov8-seg.cpp +++ b/ncnn-yolov8s-seg/yolov8-seg.cpp @@ -1,4 +1,4 @@ -#include "net.h" +#include "ncnn/net.h" #if defined(USE_NCNN_SIMPLEOCV) #include "simpleocv.h" @@ -373,8 +373,8 @@ static int detect_yolov8(const cv::Mat& bgr, std::vector& objects) { ncnn::Net yolov8; - yolov8.load_param("v8s-seg.param"); - yolov8.load_model("v8s-seg.bin"); + yolov8.load_param("models/yolov8s-seg.param"); + yolov8.load_model("models/yolov8s-seg.bin"); int width = bgr.cols; int height = bgr.rows;