前言

我用的是 树莓派3b 编译的 opencv4.1.0,如果不想编译可以直接下载我编译好的。

下载地址

直接 make install,或者按照我后续步骤复制动态链接库。

准备

需要调节虚拟内存大小,否则编译时会卡死。

vim /etc/dphys-swapfile

conf_swapsize 改为需要大小,以mb大小为单位。

重启 dphys-swapfile服务,使虚拟内存空间生效。

service dphys-swapfile restart

查看虚拟内存分配大小

free -m

依赖:

sudo apt-get install build-essential git cmake pkg-config -y
sudo apt-get install libjpeg8-dev -y
sudo apt-get install libtiff5-dev -y
sudo apt-get install libjasper-dev -y
sudo apt-get install libpng12-dev -y
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y
sudo apt-get install libgtk2.0-dev -y
sudo apt-get install libatlas-base-dev gfortran -y

如果不安装这些,编译后我发现没有图片显示的窗体,导致白白编译了一次(浪费了很多时间)。

编译用的cmake,这里我用cmake-gui

sudo apt install cmake-gui

点击完Configure,然后进行配置

BUILD_opencv_world 我一般都勾上(将很多链接库集成到world链接库,方便后面复制)。

BUILD_JAVA 取消勾选,我不需要编程java使用的。

BUILD_SHARED_LBS 勾选上,让其建立动态链接库。

BUILD_opencv_python3 勾选上。

BUILD_opencv_python2 取消勾选。

点击 Generate 。

编译

make -j4

安装

当然如果直接使用 make install 命令可以安装,但是也会安装c++的头文件和其它的一些依赖库,我只需要python上的依赖链接库,所以我单独一个一个复制的。

编译好,在 opencv-4.1.0/install/lib

libopencv_world.so.4.1.0 复制到 /lib/arm-linux-gnueabihf/ 目录中,然后使用命令ldconfig 更新链接库。

opencv-4.1.0/install/lib/python3 中的 cv2.cpython-37m-arm-linux-gnueabihf.so 复制到 /lib/python3.7/ 目录中。

最后进入目录 opencv-4.1.0/install/python_loader

python3 setup.py install

树莓派编译opencv4的更多相关文章

  1. 树莓派编译C++

    首次研究树莓派~  安装的Linux 编译C++时,就出现了问题,未定义!!无法识别 查了原因是没有安装  build-essential 解决方法 sudo apt-get install buil ...

  2. 树莓派编译安装opencv3 (2019.1.6更新)

    一.更新系统 sudo apt-get update sudo apt-get upgrade sudo rpi-update #重启系统 sudo reboot 二.安装依赖库及程序 sudo ap ...

  3. 树莓派编译nginx,支持rtmp直播

    树莓派3B+ 系统更新至最新 下载依赖 sudo apt-get update sudo apt-get install libxslt1-dev libgd-dev libgeoip-dev lib ...

  4. 树莓派编译安装 EMQ 服务器

    前言 EMQ 是一款开源的物联网 MQTT 消息服务器,使用 Erlang/OTP 语言平台设计,在 DIY 智能家居时可以作为网关,前几天摸索了一下在树莓派中安装 EMQ 的方法,记录一下. 步骤 ...

  5. 树莓派编译安装 FFmpeg(添加 H.264 硬件编解码器支持)

    说明 FFmpeg 是一套开源的音视频编解码库,有非常强大的功能,包括视频采集功能.视频格式转换等.众所周知视频编解码是一个非常消耗系统资源的过程,而树莓派自带了 H.264 的硬件编解码器,因此本文 ...

  6. 编译opencv4.5.0

    1. 环境vs2017或其它版本cmake-3.18设置环境变量OPENCV_TEST_DATA_PATH 值设置为 D:\sdk\vs2017\opencv-4.5.0\opencv_extra-4 ...

  7. Ubuntu16桌面版编译OpenCV4的java库和so库

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  8. win10 cmake编译 opencv4.0 + pyhton3.7x64

    在超极本上本来不想编译了,反正没有cuda.但发现即使下载的opencv_contrib也不包含sift等等nonfree库了,要自己编译开编译选项才可以.坑啊,自己编译吧.反正opencv已经这么庞 ...

  9. 树莓派编译ncnn

    1.从github上下载ncnn git clone --recursive https://github.com/Tencent/ncnn 2.在ncnn根目录下创建build目录,安装cmake编 ...

  10. [Linux] 树莓派编译python3.7.4

    python3.7.4 源码编译后遇到ssl错误: pip is configured with locations that require TLS/SSL, however the ssl mod ...

随机推荐

  1. sklearn中MLPClassifier源码解析

    神经网络 .fit() 首先传入类私用方法._fit() 确定hidden_layer_size是可迭代的 调用_validate_hyperparameters验证超参数是否合法 验证输入的x和y是 ...

  2. 跟羽夏学 Ghidra ——数据

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正. 如有好的建议,欢迎反馈.码字不易,如果本篇文章 ...

  3. Linux安装RabbitMQ教程(文件下载地址+安装命令+ 端口开放 + 用户创建 +配置文件模板+端口修改)

    前言 1.安装RabbitMQ前需先安装erlang, 且两者需要版本对应, 否则无法正常启动RabbitMQ (本教程使用22.0.7版本的erlang和3.8.6版本的Rabbitmq) 版本对应 ...

  4. 微服务系列之授权认证(二) identity server 4

    1.简介 IdentityServer4 是为ASP.NET Core系列量身打造的一款基于 OpenID Connect 和 OAuth 2.0 认证授权框架. 官方文档:https://ident ...

  5. Kubernetes 多租户:Pod 安全策略

    默认情况下,Kubernetes 允许创建一个有特权容器的 Pod,这些容器很可能会危机系统安全,而 Pod 安全策略(PSP)则通过确保请求者有权限按配置来创建 Pod,从而来保护集群免受特权 Po ...

  6. ERP 系统成功应用取决于哪几个方面?

    ERP系统成功应用主要取决于企业一把手的大力支持.专业的实施顾问.优秀的ERP系统三个方面! 没有企业一把手的大力支持,ERP的应用基本上不可能获得成功.ERP不是简单的信息化工程,它是企业资源计划, ...

  7. 【LeetCode第 313 场周赛】忘光光

    比赛链接 最近不怎么打比赛,不能马上反应过来考察的是什么,全部忘光光了... 6192. 公因子的数目 题意: 给定 \(a\) 和 \(b\),问两者的公因子数量 数据范围:\(1\leq a,b\ ...

  8. PHP全栈开发(五):PHP学习(2. echo 和 print 输出、数组、foreach循环、字符串)

    在PHP中有两个基本的输出语句,就是echo 和 print 这两个东东有什么不同呢. echo 可以一次输出一个或者多个字符: echo "这是一个", "字符串,&q ...

  9. 洛谷P3810 陌上花开 (cdq)

    最近才学了cdq,所以用cdq写的代码(这道题也是cdq的模板题) 这道题是个三维偏序问题,先对第一维排序,然后去掉重复的,然后cdq分治即可. 为什么要去掉重复的呢?因为相同的元素互相之间都能贡献, ...

  10. Kafka之配置信息

    Kafka之配置信息 一.Broker配置信息 属性 默认值 描述 broker.id   必填参数,broker的唯一标识 log.dirs /tmp/kafka-logs Kafka数据存放的目录 ...