您的位置:首页 > 娱乐 > 八卦 > 兰州中川国际机场电话_上海工程公司排名_宁波seo推荐优化_百度seo关键词点击软件

兰州中川国际机场电话_上海工程公司排名_宁波seo推荐优化_百度seo关键词点击软件

2024/10/5 21:13:51 来源:https://blog.csdn.net/lucky_kai/article/details/142353629  浏览:    关键词:兰州中川国际机场电话_上海工程公司排名_宁波seo推荐优化_百度seo关键词点击软件
兰州中川国际机场电话_上海工程公司排名_宁波seo推荐优化_百度seo关键词点击软件

安装笔记

cmake 在windows可以使用-G"MinGW Makefiles" 搭配make使用,install出来的lib文件时.a结尾的,适合linux下面使用。所以在windows上若无需求使用-G"NMake Makefiles" 搭配nmake。

但是windows上使用-G"NMake Makefiles"编译最后生成的执行文件无法使用gdb进行调试,gdb只能对调试信息包含在exe中的执行文件进行调试。所以需要修改vscode中的launch文件,如下文所示。

要想编译成功ncnn,下载好cmake、mingw64、opencv、protobuf、ncnn、依次编译就可以。当然,有的有现成的不需要编译,看自己。在ncnn编译的时候给cmake中设置好所需要的库路径,仿照下文修改成你的。

目前仍然无法在ncnn中使用simpleocv。报错找不到cv等命名空间,原因未知。

命令行工具

x64 Native Tools Command Prompt for VS 2022

安装protobuf

git clone  httpd://github.com/protocolbuffers/protobuf/
cd ./protobuf
git clone https://github.com/abseil/abseil-cpp.git ./protobuf/third_party/abseil-cpp
cd ./protobuf/cmake
mkdir build & cd build
cmake -G "NMake Makefiles" ^-DCMAKE_BUILD_TYPE=Release ^-DCMAKE_INSTALL_PREFIX=../../../install/release ^-Dprotobuf_BUILD_SHARED_LIBS=ON ^-Dprotobuf_WITH_ZLIB=OFF ^-Dprotobuf_BUILD_TESTS=OFF ^../..
nmake & nmake install

安装opencv

下载源码
git clone https://github.com/opencv/opencv.git
cd opencv & mkdir build & cd build
cmake -G “NMake Makefiles” -DCMAKE_BUILD_TYPE=Release …
nmake & nmake install

安装ncnn

cd ./ncnn & mkdir build & cd buildcmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install -DProtobuf_INCLUDE_DIR=D:/ProgramData/protobuf/cmake/build/install/release/include -DProtobuf_LIBRARIES=D:/ProgramData/protobuf/cmake/build/install/release/lib/libprotobuf.lib  -DProtobuf_PROTOC_EXECUTABLE=D:/ProgramData/protobuf/cmake/build/install/release/bin/protoc.exe  -DNCNN_VULKAN=OFF .. -DOpenCV_DIR=D:/ProgramData/opencv/build/install/x64/mingw/libnmake & nmake install

C++推理Demo

复制一份yolov8与samples下的CMakeLists.txt组成新的项目;

#CMakeLists.txt
cmake_minimum_required(VERSION 3.16)
project(App)
# # 设置编译器windows中设置这个会导致编译失败
#set(CMAKE_C_COMPILER "D:/ProgramData/mingw64/bin/gcc.exe")
#set(CMAKE_CXX_COMPILER "D:/ProgramData/mingw64/bin/g++.exe")set(NCNN_ROOT "D:/github/ncnn/build_debug/install")
include_directories(${NCNN_ROOT}/include/ncnn)
link_directories(${NCNN_ROOT}/lib)
# 导入静态库
add_library(ncnn STATIC IMPORTED)
set_target_properties(ncnn PROPERTIESIMPORTED_LOCATION "${NCNN_ROOT}/lib/ncnnd.lib" # 根据实际情况调整路径和库名称
)
#下方与原来的一样
macro(ncnn_add_example name)add_executable(${name} ${name}.cpp)if(OpenCV_FOUND)target_include_directories(${name} PRIVATE ${OpenCV_INCLUDE_DIRS})target_link_libraries(${name} PRIVATE ncnn ${OpenCV_LIBS})elseif(NCNN_SIMPLEOCV)target_compile_definitions(${name} PUBLIC USE_NCNN_SIMPLEOCV)target_link_libraries(${name} PRIVATE ncnn)endif()# add test to a virtual project groupset_property(TARGET ${name} PROPERTY FOLDER "examples")
endmacro()if(NCNN_PIXEL)if(NOT NCNN_SIMPLEOCV)find_package(OpenCV QUIET COMPONENTS opencv_world)# for opencv 2.4 on ubuntu 16.04, there is no opencv_world but OpenCV_FOUND will be TRUEif("${OpenCV_LIBS}" STREQUAL "")set(OpenCV_FOUND FALSE)endif()if(NOT OpenCV_FOUND)find_package(OpenCV QUIET COMPONENTS core highgui imgproc imgcodecs videoio)endif()if(NOT OpenCV_FOUND)find_package(OpenCV QUIET COMPONENTS core highgui imgproc)endif()endif()if(OpenCV_FOUND OR NCNN_SIMPLEOCV)if(OpenCV_FOUND)message(STATUS "OpenCV library: ${OpenCV_INSTALL_PATH}")message(STATUS "    version: ${OpenCV_VERSION}")message(STATUS "    libraries: ${OpenCV_LIBS}")message(STATUS "    include path: ${OpenCV_INCLUDE_DIRS}")if(${OpenCV_VERSION_MAJOR} GREATER 3)set(CMAKE_CXX_STANDARD 11)endif()endif()include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../src)include_directories(${CMAKE_CURRENT_BINARY_DIR}/../src)if(OpenCV_FOUND)ncnn_add_example(test) //名字改成你的main函数所在文件的名字endif()else()message(WARNING "OpenCV not found and NCNN_SIMPLEOCV disabled, examples won't be built")endif()
else()message(WARNING "NCNN_PIXEL not enabled, examples won't be built")
endif()
//launch.json"version": "0.2.0","configurations": [{"name": "(Windows) 启动","type": "cppvsdbg","request": "launch","program": "${workspaceFolder}/build/test.exe","args": ["D:/data/test5.jpeg"],"stopAtEntry": true,"cwd": "${workspaceFolder}","environment": [{"name": "PATH","value": "D:/ProgramData/opencv1/build/x64/vc16/bin;${env:PATH}"}], // 环境变量"console": "externalTerminal"}]
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com