opencv-mobile在幸狐RV1106部署使用

news/2024/12/4 19:15:55/

本文将介绍 “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板子上,直接执行。


http://www.ppmy.cn/news/1552356.html

相关文章

实现PDF文档加密,访问需要密码

01. 背景 今天下午老板神秘兮兮的来问我&#xff0c;能不能做个文档加密功能&#xff0c;就是那种用户下载打开需要密码才能打开的那种效果。boss都发话了&#xff0c;那必须可以。 需求&#xff1a;将 pdf 文档经过加密处理&#xff0c;客户下载pdf文档&#xff0c;打开文档需…

SpringBoot(一)

Springboot(一) 什么是SpringBoot SpringBoot是Spring项目中的一个子工程&#xff0c;与Spring-famework同属于Spring的产品 用一些固定的方式来构建生产级别的Spring应用。SpringBoot推崇约定大于配置的方式以便于能够尽可能快速的启动并运行程序 我们把Spring Boot称为搭建程…

第 41 章 - Go语言 软件工程原则

在软件工程中&#xff0c;有一些广泛接受的原则和最佳实践&#xff0c;它们帮助开发者构建更易于维护、扩展和理解的代码。本章将介绍几个重要的原则&#xff1a;SOLID、DRY&#xff08;Don’t Repeat Yourself&#xff09;、KISS&#xff08;Keep It Simple, Stupid&#xff0…

QT6_UI设计——设置表格

环境&#xff1a;qt6.8 1、放置 双击 2行 、列 设置 3、设置表格内容 读取表格内容 uint16 get_table_value_16_cmd(int row,int column) {if(column<1)return 0;QTableWidgetItem *itemnew QTableWidgetItem;itemui1->tableWidget_2->item(row,column);if(item! nul…

Web安全基础实践

实践目标 &#xff08;1&#xff09;理解常用网络攻击技术的基本原理。&#xff08;2&#xff09;Webgoat实践下相关实验。 WebGoat WebGoat是由著名的OWASP负责维护的一个漏洞百出的J2EE Web应用程序&#xff0c;这些漏洞并非程序中的bug&#xff0c;而是故意设计用来讲授We…

【机器学习】CatBoost 模型实践:回归与分类的全流程解析

一. 引言 本篇博客首发于掘金 https://juejin.cn/post/7441027173430018067。 PS&#xff1a;转载自己的文章也算原创吧。 在机器学习领域&#xff0c;CatBoost 是一款强大的梯度提升框架&#xff0c;特别适合处理带有类别特征的数据。本篇博客以脱敏后的保险数据集为例&#x…

基于 LlamaFactory 的 LoRA 微调模型支持 vllm 批量推理的实现

背景 LlamaFactory 的 LoRA 微调功能非常便捷&#xff0c;微调后的模型&#xff0c;没有直接支持 vllm 推理&#xff0c;故导致推理速度不够快。 LlamaFactory 目前支持通过 VLLM API 进行部署&#xff0c;调用 API 时的响应速度&#xff0c;仍然没有vllm批量推理的速度快。 …

FreeRTOS之ARM CR5栈结构操作示意图

FreeRTOS之ARM CR5栈结构操作示意图 1 FreeRTOS源码下载地址2 ARM CR5栈结构操作宏和接口2.1 portSAVE_CONTEXT宏2.1.1 portSAVE_CONTEXT源码2.1.2 portSAVE_CONTEXT宏操作栈结构变化示意图 2.2 portRESTORE_CONTEXT宏2.2.1 portRESTORE_CONTEXT源码2.2.2 portRESTORE_CONTEXT宏…