本文将介绍 “opencv-mobile”,一款体积仅有官方 1/10 的精简 OpenCV 库,以及它在 LuckFox Pico 平台上的应用。
原文出处:https://zhuanlan.zhihu.com/p/670191385
1、 创建一个项目文件夹
mkdir opencv-mobile-test
cd opencv-mobile-test
2、 下载 opencv-mobile luckfox-pico 预编译包,在虚拟机中解压
opencv-mobile-4.10.0-luckfox-pico.zip
unzip opencv-mobile-4.8.1-luckfox-pico.zip
3、 cmake 设置
创建文件:
vi CMakeLists.txt
添加以下内容,将 修改为自己的 SDK 路径,如 /home/luckfox/luckfox-pico/
注意:我下载的版本是4.10.0,别忘了修改其中的版本。
project(opencv-mobile-test)
cmake_minimum_required(VERSION 3.5)
set(CMAKE_CXX_STANDARD 11)
SET(CMAKE_C_COMPILER "<SDK Directory>/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-gcc")
SET(CMAKE_CXX_COMPILER "<SDK Directory>/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-g++")
set(OpenCV_DIR "${CMAKE_CURRENT_SOURCE_DIR}/opencv-mobile-4.10.0-luckfox-pico/lib/cmake/opencv4")
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(opencv-mobile-test main.cpp)
target_link_libraries(opencv-mobile-test ${OpenCV_LIBS})
4、 源代码
创建文件:
vi main.cpp
添加以下内容:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
int main()
{
cv::Mat bgr = cv::imread("in.jpg", 1);
cv::resize(bgr, bgr, cv::Size(200, 200));
cv::imwrite("out.jpg", bgr);
return 0;
}
5、 编译
执行命令:
mkdir build
cd build
cmake ..
make
编译成功后得到可执行文件opencv-mobile-test
luckfox@luckfox:~/opencv-mobile-test/build$ ls
CMakeCache.txt CMakeFiles cmake_install.cmake Makefile opencv-mobile-test
6、 项目目录结构、
opencv-mobile-test/ # 项目根目录
├── build # 编译输出目录
├── CMakeLists.txt # 项目 CMake 配置文件
├── main.cpp # 项目源代码文件
└── opencv-mobile-4.10.0-luckfox-pico/ # opencv-mobile 库目录
7、 运行
将可执行文件opencv-mobile-test移植到RV1106板子上,直接执行。