首页 > 其他分享 >在全志V853上进行Opencv库的编译步骤

在全志V853上进行Opencv库的编译步骤

时间:2023-07-06 17:32:03浏览次数:46  
标签:CMAKE V853 OpenCV 全志 Opencv FLAGS opencv cmake 编译

OpenCV(Open Source Computer Vision)是一个开放源代码的计算机视觉库,它提供了一系列函数和算法,用于处理图像和视频。通过使用OpenCV,您可以进行各种计算机视觉任务,例如图像处理、对象识别、目标追踪、人脸检测和机器学习等。它提供了底层图像处理功能,以及高级功能和模块,如特征提取、边缘检测、图像分割和物体测量等。

当V853需要进行图像的预处理操作时,涉及到使用opencv库中的相关接口和函数。所以如果要基于853进行模型的输入预处理或者输出后处理操作时,就不可避免的要依赖到opencv库。

先获取GitHub中的opencv源码: https://github.com/opencv/opencv https://github.com/opencv/opencv_contrib

进入目录下,创建build目录:

mkdir build
cd build/

运行cmake指令配置参数生成Makefile文件:

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/xxxxx/opencv/opencv_contrib/modules ..

当然,如果需要将库外置不编入环境的话可以修改CMAKE_INSTALL_PREFIX的值,直接改为对应路径即可。 选择库的相关指令(指定编译/不编译某些库,优化opencv库大小):

指定编译opencv_core库:

-DBUILD_opencv_core=ON

指定不编译opencv_hdf库:

-DBUILD_opencv_hdf=OFF

使用make指令进行编译:

make -j4

make完成并不代表结束,还需要生成opencv库使用。

编译完成后,加上install命令,将其加载/注册到usr文件夹中,这样每次编译 就不用使用一整个opencv库/包了。

make install

当编译可执行文件需要链接opencv库时,可以编写一个cmake来编译文件:

# 声明要求的 cmake 最低版本
cmake_minimum_required( VERSION 2.8 )

# 声明一个 cmake 工程
project( test )

#添加OPENMP库
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()

#添加OPENCV库
#指定OpenCV版本,代码如下
##find_package(OpenCV 3.3 REQUIRED)
#如果不需要指定OpenCV版本,代码如下
set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/usr/lib/cmake/opencv4)
find_package(OpenCV REQUIRED)

#添加OpenCV头文件
include_directories(./ ${OpenCV_INCLUDE_DIRS})

# 添加一个可执行程序
# 语法:add_executable( 程序名 源代码文件 )
add_executable(main ${DIRSRCS} ${NPULIB_DIRSRCS})

# 将库文件链接到可执行程序上
target_link_libraries(main ${OpenCV_LIBS} ${VIP_LIBS} -lstdc++ -lpthread -lrt -lm -ldl)

可以看到,该cmake链接了opencv库,

set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/usr/lib/cmake/opencv4)

该方法通过链接opencv库中的cmake文件然后来找到对应的opencv包,保证主程序能够顺利调用。

可以在github上下载yolov7处理代码,链接库进行验证。如若cmake生成makefile正常,make编译也正常,成功执行例程过后,opencv库成功生成。

原文链接:https://bbs.aw-ol.com/topic/3809/

标签:CMAKE,V853,OpenCV,全志,Opencv,FLAGS,opencv,cmake,编译
From: https://blog.51cto.com/u_15380233/6643993

相关文章

  • python opencv无法编码h264、opencv编码的mp4视频无法在网页中播放
    pythonopencv无法编码h264、opencv编码的mp4视频无法在网页中播放,这好像是因为开源许可的协议不同,导致pythonopencv中没有内置h264的编码,无法以h264的格式保存视频。所以我就直接使用webm格式的视频:output_path='output_video.webm'output_codec=cv2.VideoWriter_fourcc......
  • 1 opencv-python图像读写模块
    这个分类记录自己学习opencv的随笔文档,方便以后查询和复习。python-opencv环境配置网上教程很多,此处就不做赘述了,该文档记录opencv最基础的图像读写和显示,工具是jupyternotebook。1opencv中,图像读取函数是imread(filename,flags=None)参数说明:filename:读取图像的路径,通常支......
  • OpenCV4环境配置详细指南(C++)
      OpenCV编程学习今天正式开始,简要的记录一下,希望对大家有用。1:所需文件   开发工具:VisualStudio   下载地址   视觉库:OpenCV  下载地址2:安装  VisualStudio下载好后直接安装,一定要选择C++模块  OpenCV下载好后,双击解压到合适的位置,......
  • 全志 Tina Linux RISC-V E907核心开发指南支持百问网V85x系列开发板100ask-v853-pro v
    编写目的:介绍v85X上E907的启动环境和AMP的环境搭建。使用范围:全志V85X系列芯片环境A7SDK:TinaE907SDK:melis4SDK快捷命令说明这里主要介绍几个下文会用到的命令,并不会介绍全部命令,如果想了解全部命令,可以在lunch方案后使用hmm打印出所有tina提供的快捷命令。ckernel,mke......
  • 用OpenCV进行传统图像分割
    1.引言欢迎回来,我的图像处理爱好者们!本文我们将直接进入传统图像分析的新领域——图像分割,这是指将图像分成若干具有相似性质的区域的过程,从数学角度来看,图像分割是将图像划分成互不相交的区域的过程。闲话少说,我们直接开始吧!2.基于阈值的分割首先介绍的是基于阈值和基于Otsu的......
  • OpenCV:最流行的图像处理库
    https://www.cnblogs.com/traditional/p/11193524.html楔子关于Python的图像处理,我们之前介绍一个第三方库叫PIL,现在我们来介绍另一个库OpenCV。从功能和性能上来讲,OpenCV要比PIL强大很多,而且OpenCV还可以处理视频。那么下面我们就来介绍一下OpenCV的用法,首先是安......
  • 全志Tina Linux SPINAND UBI 离线烧录 开发指南 支持百问网T113 D1-H哪吒 DongshanPI-
    1概述编写目的:介绍SunxiSPINand烧写时的数据布局2名词解释词义UBIunsortedblockimagePEBphysicaleraseblockLEBlogicaleraseblockPEB和logicalblock关系1PEB=1logicalblock1logicalblock=2physicalblocks3总体数据布局ubi方案FLASH上的数据布局sys_pa......
  • 全志 Linux 系统启动优化 启动优化速度方式 优化启动流程 优化uboot 优化kernel等
    文章目录1概述2启动速度优化简介2.1启动流程2.2测量方法2.2.1printktime2.2.2initcall_debug2.2.3bootgraph.2.2.4bootchart2.2.5gpio+示波器.2.2.6grabserial.2.3优化方法2.3.1boot0启动优化2.3.1.1非安全启动.2.3.1.2安全启动2.3.2uboot启动优化2.3.2.1完全去......
  • opencv: mask
    (20条消息)pythonopencv图像叠加/图像融合/mask掩模_cv2读取灰度图像和rgb图像叠加_DLANDML的博客-CSDN博客 ......
  • C# OpenCvSharp 图像校正
    效果Demo下载  代码usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingOpenCvSharp;usingOpenCvSharp.Extensions;namesp......