当前位置: 首页 > article >正文

RK3588开发板中编译安装opencv

在Ubuntu上安装OpenCV并使用C++进行快速开发,你可以遵循以下步骤:

1 更新系统包索引并安装必要的包:

sudo apt update
sudo apt install build-essential cmake git pkg-config libgtk-3-dev \
                 libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \
                 libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \
                 gfortran openexr libatlas-base-dev python3-dev python3-numpy \
                 libtbb2 libtbb-dev libdc1394-22-dev

 2克隆OpenCV的GitHub仓库(这一步可能git clone会卡住,直接将地址粘贴到网页上直接到git网页上下zip包然后解压,解压后可能是opencv_4x 或opencv_contrib_4x,把这两个文件夹的名字中的_4x去掉,最后把opencv和opencv_contrib这两个文件夹拷贝到~/opencv_build中:

mkdir ~/opencv_build && cd ~/opencv_build
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

3.编译OpenCV:

cd ~/opencv_build/opencv
mkdir build && cd build
 
cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D INSTALL_C_EXAMPLES=ON \
      -D INSTALL_PYTHON_EXAMPLES=ON \
      -D OPENCV_GENERATE_PKGCONFIG=ON \
      -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \
      -D BUILD_EXAMPLES=ON ..
 
make -j$(nproc)
sudo make install
sudo ldconfig

4 验证安装是否成功,运行一个简单的C++ OpenCV程序:

// main.cpp
#include <opencv2/opencv.hpp>
#include <iostream>
 
int main() {
    cv::Mat image = cv::imread("test.jpg"); // 确保当前目录有test.jpg图片
    if (image.empty()) {
        std::cout << "Could not open or find the image" << std::endl;
        return -1;
    }
    cv::namedWindow("Display window", cv::WINDOW_AUTOSIZE);
    cv::imshow("Display window", image);
    cv::waitKey(0);
    return 0;
}

Makefile中添加

LIBS   :=  -L/usr/local/lib -lopencv_core -lopencv_imgproc -lopencv_video -lopencv_highgui -lopencv_calib3d\
       	-lopencv_features2d -lopencv_flann -lopencv_imgcodecs -lopencv_videoio\
       -lm -lpthread
INC  :=   -I/usr/include/opencv4/

在命令行中执行如下:

sudo ln -s /usr/include/opencv4/opencv2 /usr/include/

FR:徐海涛(hunkxu)


http://www.kler.cn/a/407993.html

相关文章:

  • 【Python】爬虫实战:高效爬取电影网站信息指南(涵盖了诸多学习内容)
  • Prometheus结合K8s(二)使用
  • Android开发实战班 - 数据持久化 - 数据加密与安全
  • QKV;LLM的原理理解1-5:1、词向量2、词的意义取决于上下文3、将词向量转化为词预测4、​注意力机制​
  • 【设计模式】设计模式概览
  • Ansys Zemax Optical Studio 中的近视眼及矫正
  • java中链表的数据结构的理解
  • 【超详细】C#基础-基本运算、语句
  • DICOM核心概念:显式 VR(Explicit VR)与隐式 VR(Implicit VR)在DICOM中的定义与区别
  • springmvc 用了 @RequestMapping 是不是可以不用
  • CSP/信奥赛C++语法基础刷题训练(23):洛谷P1217:[USACO1.5] 回文质数 Prime Palindromes
  • 基于Java+SpringBoot+Mysql在线简单拍卖竞价拍卖竞拍系统功能设计与实现四
  • aws ses生产环境申请
  • 前端实习第四周小结
  • Spring Boot 和 Spring Cloud 微服务开发实践详解
  • 反向代理模块开发
  • 【linux】(17)压缩和解压
  • 基于Qwen-Agent框架的Function Call及ReAct方式调用自定义工具
  • pytorch官方FasterRCNN代码详解
  • 如何利用 Puppeteer 的 Evaluate 函数操作网页数据
  • 开源代码统计工具cloc的简单使用
  • 哈夫曼树:数据压缩的核心算法及实现
  • (附项目源码)Java开发语言,220 ssm电影推荐系统的分析与设计,计算机毕设程序开发+文案(LW+PPT)
  • 超文本传输协议(HTTP)与超文本传输安全协议(HTTPS)
  • 全志T113双核异构处理器的使用基于Tina Linux5.0——异构双核通信验证
  • 【探寻密码的奥秘】-000:密码相关概念定义及介绍(持续更新~~)