Yuzuki Lizard V851S开发板 –编译 OPENCV 4.5.4

1.主要参考教程地址,实际操作结合多个教程。

https://blog.csdn.net/Flag_ing/article/details/109508374

2.放从OPENCV RELEASE 下载的解压出来的文件,里面还要放对应版本的contribute 解压文件

/root/opencv-4.5.4

/root/opencv-4.5.4/build6

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里要找到三个地方进行修改;

1、勾选上BUILD_opencv_world
2、在CMAKE_BUILD_TYPE后填上:RELEASE

3、在OPENCV_EXTRA_MODULES_PATH后填上opencv-contrib/modules的路径

比如我是:/home/wsx/opencv/opencv/opencv_contrib/modules
完成之后再次点击Configure按钮,稍等片刻,之后在点击Generate按钮
(所有红色报错,全部关掉即可)

交叉编译工具链地址:

/root/tina-v853-docker/prebuilt/rootfsbuilt/arm/toolchain-sunxi-musl-gcc-830/toolchain/bin/arm-openwrt-linux-gcc

/root/tina-v853-docker/prebuilt/rootfsbuilt/arm/toolchain-sunxi-musl-gcc-830/toolchain/bin/arm-openwrt-linux-g++

/root/tina-v853-docker/prebuilt/rootfsbuilt/arm/toolchain-sunxi-musl-gcc-830/bin/

在这里插入图片描述

注意:

  • 取消WITH_GTK
    取消WITH_TIFF , PNG ,JPG
    所有红色报错的功能,都不要勾选,或者自己搞定。

  • 如果点击configure提示处理器未识别
    那么执行vi /root/opencv-4.5.4/cmake/OpenCVDetectCXXCompiler.cmake
    可以在第47行,写入 set(CMAKE_SYSTEM_PROCESSOR arm)
    (一定会提示,一定要这么做。)

在这里插入图片描述

4、 如果要修改默认的install文件夹,要在点击Generate之前修改,修改方式如下
vi /root/opencv-4.5.4/build6/CMakeCache.txt
修改CMAKE_INSTALL_PREFIX:PATH=/root/opencv-4.5.4/build6

5、进入目录
/root/opencv-4.5.4/build6/

执行 cmake .
执行 export STAGING_DIR=/root/tina-v853-docker/prebuilt/rootfsbuilt/arm/toolchain-sunxi-musl-gcc-830/toolchain/bin
执行 make -j20

(看自己的线程数,设定)

在这里插入图片描述

到此编译成功

6、编译出来的文件
动态库文件 /usr/local/lib/
文件库 /usr/local/include/opencv4/

注意下面步骤中成功编译出来的固件,是不含动态库的,所以还需要编译时所用的动态库,同步复制到板子的/usr/lib/ 里面去。否则报错找不到动态库

7、编译一个opencv example

首先 执行

export STAGING_DIR=/root/tina-v853-docker/prebuilt/rootfsbuilt/arm/toolchain-sunxi-musl-gcc-830/toolchain/bin

任意目录下创建3个文件

1.CMakeLists.txt

cmake_minimum_required(VERSION 3.10)

set (ARM_LINUX_GCC_PATH /root/tina-v853-docker/prebuilt/rootfsbuilt/arm/toolchain-sunxi-musl-gcc-830/toolchain/bin/) # 改成你的路径
set (CMAKE_C_COMPILER ${ARM_LINUX_GCC_PATH}arm-openwrt-linux-gcc)
set (CMAKE_CXX_COMPILER ${ARM_LINUX_GCC_PATH}arm-openwrt-linux-g++)

project(Test_OpenCV_Mobile)
set(CMAKE_CXX_STANDARD 11)
set(OpenCV_DIR "/root/opencv-4.5.4/") # 改成你的路径
find_package(OpenCV REQUIRED)
FIND_PACKAGE(OpenMP REQUIRED)
add_executable(Test_OpenCV_Mobile main.cpp)
target_link_libraries(Test_OpenCV_Mobile pthread)
target_link_libraries(Test_OpenCV_Mobile dl)
target_link_libraries(Test_OpenCV_Mobile -fopenmp)
target_link_libraries(Test_OpenCV_Mobile ${OpenCV_LIBS})

2.makefile

OPENCV_DIR := /root/opencv-4.5.4/
THIRD_PART_INCLUDE := -I$(OPENCV_DIR)include/opencv4 -I$(OPENCV_DIR)include/opencv4/opencv2
THIRD_PART_LIBRARY := $(OPENCV_DIR)lib/libopencv_highgui.a $(OPENCV_DIR)lib/libopencv_features2d.a $(OPENCV_DIR)lib/libopencv_imgproc.a $(OPENCV_DIR)lib/libopencv_photo.a $(OPENCV_DIR)lib/libopencv_video.a $(OPENCV_DIR)lib/libopencv_core.a

TARGET = Test_OpenCV_Mobile
START:
    @echo START
    rm -rf $(TARGET)
    /root/tina-v853-docker/prebuilt/rootfsbuilt/arm/toolchain-sunxi-musl-gcc-830/toolchain/bin/arm-openwrt-linux-g++ -O2 -std=c++11 -lpthread -fopenmp -ldl $(CFLAGS) $(THIRD_PART_INCLUDE) -o $(TARGET) ./main.cpp $(THIRD_PART_LIBRARY)

.PHONY:clean

clean:
    rm -rf $(BINDIR)

3.main.cpp

#include <opencv2/opencv.hpp>
#include <iostream>
int main()
{
    cv::Mat mat = cv::Mat::zeros(256,256, CV_8UC1);
    {
        cv::rectangle(mat, cv::Rect(40, 45, 51, 65), cv::Scalar(255), -1, cv::LINE_8, 0);//绘制填充矩形
        cv::rectangle(mat, cv::Rect(180, 180, 85, 21), cv::Scalar(255), -1, cv::LINE_8, 0);//绘制填充矩形
        std::cout << "mat.rows = " << mat.rows << std::endl;
        std::cout << "mat.cols = " << mat.cols << std::endl;
    }
    return 0;
}

8.编译 opencv example
在创建的目录里面,执行

cmake .
make

在这里插入图片描述

9、将文件推进板子,并添加权限执行

10、推送相应的动态库进入 /usr/lib
比如 world,core….

11、最后终端执行,推送进来的文件。
./Test_OpenCV/example

到此 opencv 4.5.4 编译成功,并运行opencv example成功。

本文转载自:https://bbs.aw-ol.com/topic/3422/

### 关于全志 V851S 芯片的技术规格 全志 V851S 是一款专为智能视觉应用设计的高性能处理器,其核心架构融合了 ARM 和 RISC-V 的优势技术。以下是该芯片的主要技术规格: #### 处理器架构 - **CPU 架构**: 单核 Arm Cortex-A7[@ref1] - **协处理单元**: 集成了高效的 RISC-V 内核作为辅助计算引擎,用于加速特定算法执行【自定义扩展】。 #### 制造工艺与性能特点 - **制程工艺**: 使用先进的制造工艺以降低功耗并提升能效比[^1]。 - **主频范围**: CPU 主频可达 1GHz 或更高水平,在低功耗模式下仍保持良好的运算能力【官方数据】。 #### 存储接口和支持 - 支持多种存储介质接入方式,包括 eMMC、SD/TF 卡以及 DDR3/LPDDR2/LPDDR3 内存类型【硬件手册摘要】。 - 提供灵活的数据传输选项来满足不同应用场景需求. #### 图形处理与多媒体功能 - 内置强大的 GPU 模块负责图像渲染任务;同时具备专用 ISP (Image Signal Processor),可实现高质量视频捕捉效果【产品白皮书描述】. - 支持 H.264/H.265 编解码标准,并兼容主流音频编解码格式如 AAC, MP3 等【多模态媒体支持特性说明】 #### 安全机制 - 嵌入式安全启动流程确保固件加载过程中的安全性; - 物联网设备所需的加密服务也被集成进来以便保护敏感信息交换活动【网络安全防护措施概述】 ```c // 示例代码展示如何初始化V851S上的基本外设配置 #include "tina_sdk.h" void init_v851s_peripherals() { configure_cpu_clock(1000); // 设置CPU频率到1GHz enable_riscv_core(); // 启动RISC-V内核 setup_memory_controller(); // 初始化内存控制器参数 } ``` 以上是对全志V851S的一些关键技术特性的总结介绍。具体详细的文档可以参阅《全志V851SETinyVision异构视觉AI开发套件源码工具文档手册》相关内容部分获取更多细节资料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值