手把手带你入坑树莓派之第五篇,OpenCV4.1+QT5详细步骤搭建(这个肯定成功)

本文主要是介绍手把手带你入坑树莓派之第五篇,OpenCV4.1+QT5详细步骤搭建(这个肯定成功),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我非常理解此时的你的心情,因为当我写这篇博文的时候,我也是重装了好几次系统。一边骂着csdn上的某些不负责任的狗屎博主们,一边含泪的琢磨到底是哪里出了问题,怎么就Make的时候各种报错。后来,度娘和N哥(CSDN)已经不能满足我的求知欲了,于是我去求Google外国大佬和Youtub大佬的攻略,一下子(额,有个内存小错,不过没关系。解决了)就照着安装成功了呢。

硬件需求:树莓派3B、4B都行,这俩我都用下面的方法安装成功了。其他型号我没试过,不确定。

软件需求:Rasbian 官方系统:2020-02-13-raspbian-buster-full.img   其他时间的版本只要不是太老,都没问题吧。

源需求:清华源可以用。安装前请先换源(这是你的第0步)。怎么换源你去搜搜吧。注意要输入两个sudo nano去改两个源文件。算了我不放心你,还是写在这吧。在下图所示终端输入:

sudo nano /etc/apt/sources.list

把第一行用#注释掉,然后把下面的粘贴到文本最下方

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib

就像下图所示:

然后 Ctrl+O 保存 再 Ctrl+X 退出。然后再输入:

sudo nano /etc/apt/sources.list.d/raspi.list

然后和上面类似的操作,#注释第一行,在文本尾端添加:

deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui

 注意清华源里面的buster对应的是debian10, 在2019.6月的版本以后都是debian10了。以前的版本是debian9(对应的是stretch),你的系统若是以前的版本,注意这个后缀别写错了。建议你下个新版本用,这个没什么兼容问题。

 

请你先用一分钟看一下我的那个小错出在了哪里,然后照着我的安装。我会手把手的教你。放心,你会成功的!拥抱~

我的小错:(你要在安装前,先把以下内容设置好)

我在输入“./build-opencv.sh”的时候(就是要等两个小时的那一步,慢悠悠的百分比)它突然卡在了85%上,

然后提示我RAM(内存)存储空间不够,无法继续build。

改正方法:(这是你的第一步)

然后我就退出了当前的树莓派终端。重新打开一个。

在里面输入

sudo raspi-config

  然后选择 7-Advanced Options 然后选择 A1 Expand filesystem 然后Finish退出。

扩展空间后,输入

sudo reboot

重启。

然后还是打开树莓派终端回到上图所示路径,输入 sudo nano /etc/dphys-swapfile 把这个打开的文本中的

这个“CONF_SWAPSIZE=100” 值 改成 “CONF_SWAPSIZE=1024”。这样操作是把SWAP SIZE(内存扫描尺寸)从100M升级到1G,因为编译(Build)的过程需要占用非常大的内存,100M是不够的,内存不够就卡的死啦死啦地。

Ctrl+O 保存修改后的文件 然后 Ctrl+X 退出文本编辑。

最后再输入以下代码,去激活上面的设置。

 sudo /etc/init.d/dphys-swapfile restart 

开始正经的安装(这是你的第二步) :

在树莓派的桌面下创建个叫opencv的文件夹。(如果你没有显示屏,那么就在树莓派终端输入:)

cd /home/pi/Desktop
mkdir opencv
cd opencv

然后在这个文件夹里新建 个叫“build-opencv.sh”的文件,如果你没有显示屏,那么就用

sudo nano build-opencv.sh

 然后把以下内容,复制粘贴到这个文件中:

#!/usr/bin/env bash
set -exOPENCV_VERSION=4.1.0
pushd ~/opencv/opencv-$OPENCV_VERSION
mkdir -p build
pushd build
RPI_VERSION=$(awk '{print $3}' < /proc/device-tree/model)
if [[ $RPI_VERSION -ge 4 ]]; thenNUM_JOBS=$(nproc)
elseNUM_JOBS=1 # Earlier versions of the Pi don't have sufficient RAM to support compiling with multiple jobs.
fi# -D ENABLE_PRECOMPILED_HEADERS=OFF
# is a fix for https://github.com/opencv/opencv/issues/14868# -D OPENCV_EXTRA_EXE_LINKER_FLAGS=-latomic
# is a fix for https://github.com/opencv/opencv/issues/15192cmake -D CMAKE_BUILD_TYPE=RELEASE \-D CMAKE_INSTALL_PREFIX=/usr/local \-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-$OPENCV_VERSION/modules \-D OPENCV_ENABLE_NONFREE=ON \-D BUILD_PERF_TESTS=OFF \-D BUILD_TESTS=OFF \-D BUILD_DOCS=ON \-D BUILD_EXAMPLES=ON \-D ENABLE_PRECOMPILED_HEADERS=OFF \-D WITH_TBB=ON \-D WITH_OPENMP=ON \-D OPENCV_EXTRA_EXE_LINKER_FLAGS=-latomic \-D PYTHON3_EXECUTABLE=$(which python3) \-D PYTHON_EXECUTABLE=$(which python2) \..
make -j "$NUM_JOBS"
popd; popd

与上面操作类似,还是在opencv文件夹中新建“download-opencv.sh” 文件。打开它,把以下内容复制粘贴。

#!/usr/bin/env bash
set -exOPENCV_VERSION=4.1.0
cd ~
mkdir -p opencv && pushd opencvwget -O "opencv-${OPENCV_VERSION}.tar.gz" "https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.tar.gz"
wget -O "opencv_contrib-${OPENCV_VERSION}.tar.gz" "https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.tar.gz"
tar -xvf "opencv-${OPENCV_VERSION}.tar.gz"
tar -xvf "opencv_contrib-${OPENCV_VERSION}.tar.gz"
popd

 与上面操作类似,还是在opencv文件夹中新建“install-deps.sh” 文件。打开它,把以下内容复制粘贴。

#!/usr/bin/env bash
set -exsudo apt-get purge -y libreoffice*
sudo apt-get clean
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y
sudo apt-get autoremove -y
# For some reason I couldn't install libgtk2.0-dev or libgtk-3-dev without running the 
# following line
# See https://www.raspberrypi.org/forums/viewtopic.php?p=1254646#p1254665 for issue and resolution
sudo apt-get install -y devscripts debhelper cmake libldap2-dev libgtkmm-3.0-dev libarchive-dev \libcurl4-openssl-dev intltool
sudo apt-get install -y build-essential cmake pkg-config libjpeg-dev libtiff5-dev libjasper-dev \libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \libxvidcore-dev libx264-dev libgtk2.0-dev libgtk-3-dev \libatlas-base-dev libblas-dev libeigen{2,3}-dev liblapack-dev \gfortran python2.7-dev python3-dev
sudo pip2 install -U pip -y
sudo pip3 install -U pip -y
sudo pip2 install numpy -y
sudo pip3 install numpy -y

 与上面操作类似,还是在opencv文件夹中新建“test.py” 文件。打开它,把以下内容复制粘贴。

import numpy as np
import cv2
import sysif len(sys.argv) < 2:print("USAGE: {} img-file".format(sys.argv[0]))sys.exit(1)# Load an color image in grayscale
img = cv2.imread(sys.argv[1],0)
cv2.imshow('image',img)
cv2.waitKey(5000)
cv2.destroyAllWindows()

 去这个网址,下载美女图片lenna.jpg,把它保存在opencv文件中。稍后我们用它做例程。

https://upload.wikimedia.org/wikipedia/en/7/7d/Lenna_%28test_image%29.png

如果你没有显示器,可以在树莓派终端上输入:去下载美女图片。然后你把它(它下到了home/pi中)

剪切移动到/home/pi/Desktop/opencv中。(无显示屏可以用putty+winscp操作文件)

wget "https://upload.wikimedia.org/wikipedia/en/7/7d/Lenna_%28test_image%29.png" -O lenna.jpg

然后你的opencv文件夹应该是有以下内容了:

好!安装的前期准备工作已就绪。

我们回到树莓派的终端窗口:

在里面逐一输入以下内容:

cd /home/pi/Desktop/opencv
sudo su                         #打开root目录, 使用超级权限
chmod +x *.sh
./download-opencv.sh
./install-deps.sh               #到这里就开始make了,你需要保证树莓派电源正常,网络正常,还有一个小时的耐心等待

当make百分之百的时候(100%)你此时的内心应该是快乐的,绝大多数人是在make的过程中出错。只要你按照我的手把手的操作来,就肯定能杀到100%。即便是过程中提示“xxx文件找不到”,“警告xxx版本过低”,你都不用管他们。能到百分之百就行,你只需要耐心还有想傻瓜一样跟我操作。

好!我们继续,还是在当前路径下,逐一键入:

sudo pip2 install -U pip
sudo pip3 install -U pip
sudo pip2 install numpy pip
sudo pip2 install numpy 
sudo pip3 install numpy        
./build-opencv.sh              #到这里开始编译了
cd ~/opencv/opencv-4.1.0/build  

编译也成功了,完美~ 然后我们可以试试美女的图片例子了。

退出树莓派终端,再重新打开一个新的树莓派终端:

逐一输入以下命令:

cd /home/pi/Desktop/opencv
python2 test.py lenna.jpg

然后你就会看到一个美女了。

以上内容是树莓派安装配置OpenCV4.1的全部过程。下面我将介绍QT5的下载和配置。

QT5的安装与配置(这是你的第三步):

得到

这篇关于手把手带你入坑树莓派之第五篇,OpenCV4.1+QT5详细步骤搭建(这个肯定成功)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/600763

相关文章

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex

沁恒CH32在MounRiver Studio上环境配置以及使用详细教程

目录 1.  RISC-V简介 2.  CPU架构现状 3.  MounRiver Studio软件下载 4.  MounRiver Studio软件安装 5.  MounRiver Studio软件介绍 6.  创建工程 7.  编译代码 1.  RISC-V简介         RISC就是精简指令集计算机(Reduced Instruction SetCom

arduino ide安装详细步骤

​ 大家好,我是程序员小羊! 前言: Arduino IDE 是一个专为编程 Arduino 微控制器设计的集成开发环境,使用起来非常方便。下面将介绍如何在不同平台上安装 Arduino IDE 的详细步骤,包括 Windows、Mac 和 Linux 系统。 一、在 Windows 上安装 Arduino IDE 1. 下载 Arduino IDE 打开 Arduino 官网

GPT系列之:GPT-1,GPT-2,GPT-3详细解读

一、GPT1 论文:Improving Language Understanding by Generative Pre-Training 链接:https://cdn.openai.com/research-covers/languageunsupervised/language_understanding_paper.pdf 启发点:生成loss和微调loss同时作用,让下游任务来适应预训

多路转接之select(fd_set介绍,参数详细介绍),实现非阻塞式网络通信

目录 多路转接之select 引入 介绍 fd_set 函数原型 nfds readfds / writefds / exceptfds readfds  总结  fd_set操作接口  timeout timevalue 结构体 传入值 返回值 代码 注意点 -- 调用函数 select的参数填充  获取新连接 注意点 -- 通信时的调用函数 添加新fd到

树莓派5_opencv笔记27:Opencv录制视频(无声音)

今日继续学习树莓派5 8G:(Raspberry Pi,简称RPi或RasPi)  本人所用树莓派5 装载的系统与版本如下:  版本可用命令 (lsb_release -a) 查询: Opencv 与 python 版本如下: 今天就水一篇文章,用树莓派摄像头,Opencv录制一段视频保存在指定目录... 文章提供测试代码讲解,整体代码贴出、测试效果图 目录 阶段一:录制一段