编译opencv

1.安装cmake和cmake-gui工具:

sudo apt install cmake
sudo apt install cmake-gui

2.在命令行输入cmake-gui ,打开cmake-gui,在where is the source code,输入opencv的项目,在where to build the binaries,输入项目的编译文件build:

 

 

3.然后点击configure,出现一下的界面 :

4.选择第三个选项,得到以下的界面,选择opencv源文件的tootchain文件:opencv-3.4.11/platforms/linux/aarch64-gnu.toolchain.cmake

最后点击generate,在build文件里编译命令:make -j8

编译ncnn:跟上面的步骤雷同:

选择编译链,ncnn-master/toolchains/aarch64-linux-gnu.toolchain.cmake,点击configure,得到的变量,有两处要改:

 1.ncnn_build_tools的沟要去掉

2.opencv_dir选择到opencv编译好的build

最后在点击configure和generate,最后编译make  -j8,并且安装:make install DESTDIR=ncnn,得到install文件夹,里面包含include和ncnn.a文件。

 

编译自己的项目,同样的步骤:先写cmakelists:

cmake_minimum_required(VERSION 2.8)

project(FaceDetector)

add_definitions(-std=c++11)
add_definitions("-Wall")
add_definitions(-DUNICODE -D_UNICODE)

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}")
endif()

include_directories(${CMAKE_CURRENT_SOURCE_DIR}/ncnn/include/ncnn)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
link_directories(${CMAKE_CURRENT_SOURCE_DIR}/ncnn/lib)



find_package( OpenCV REQUIRED )

if (NOT OpenCV_FOUND)
    message(FATAL_ERROR "opencv Not Found!")
else()
    message(STATUS "OpenCV_LIBS: ${OpenCV_LIBS}")
    message(STATUS "OpenCV_INCLUDE_DIRS: ${OpenCV_INCLUDE_DIRS}")
    include_directories(${OpenCV_INCLUDE_DIRS})

endif (NOT OpenCV_FOUND)




set(SRC_LIB
        src/ocr.cpp
        src/RRLib.cpp
        )

add_library(text_recognition SHARED ${SRC_LIB} )
target_link_libraries(text_recognition ncnn ${OpenCV_LIBS} )

set(SRC src/main.cpp)
add_executable(Text_recognition ${SRC})
target_link_libraries(Text_recognition text_recognition ncnn ${OpenCV_LIBS})

首先需要从ncnn项目拷贝toolchain文件夹和install文件夹(install重新命名为ncnn)到自己项目的根目录,然后打开cmake-gui,步骤和上面一样,tooltrain,在拷贝的ncnn tooltrain文件夹里面找,同时也要设置好opencv的build路径,最后就可以成功编译。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐