树莓派的小小浅学(2)

树莓派的小小浅学(2)

OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉机器学习软件库,可以运行在LinuxWindowsAndroidMac OS操作系统上。 [1] 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

OpenCV用C++语言编写,它具有C ++,PythonJavaMATLAB接口,并支持Windows,Linux,Android和Mac OS,OpenCV主要倾向于实时视觉应用,并在可用时利用MMX和SSE指令, 如今也提供对于C#、Ch、Ruby,GO的支持。

OpenCV能做图像处理操作、构建图形用户界面、视频分析、3D重建、特征提取、目标检测、机器学习、计算摄影、形状分析、光流算法、人脸和目标识别、表面匹配、文本检测和识别等。它提供了许多内置的用于图像处理和计算机视觉相关操作的基础元素。

本章将介绍OpenCV开发环境的搭建,搭建的版本为OpenCV4.6.0,同时支持Python3和C++,在搭建好后,将通过一个C++和Python的Demo打开CSI摄像头来测试开发环境是否搭建完成。

为了避免部分软件下载失败,树莓派我尽量使用官方源,当然这样速度就会非常的慢,为了防止一些小BUG的产生对新手产生非常大的劝退,毕竟新手还是刚刚踏入这一行业,我们要给予他们极大的鼓励,而且刚入行,毕竟不可能就有很多项目可以做,有的就是大量的休闲时间,完全可以在安装的时候摸摸鱼,比如可以去网页上浏览一些自己感兴趣的东西,放下自己的电脑去看大佬在干什么,自己学习学习。

sudo apt --fix-broken install
sudo apt-get update
sudo apt-get upgrade
//修复,更新,升级
//这一步千万不能少

此部分的作用是扩展sd卡内存,以防在安装编译过程发生内存不足的情况。在终端输入以下命令,进入树莓派配置界面。可能嫌麻烦,谁让你准备一张这么小的内存卡,一定要准备一张至少16G的内存卡。

sudo raspi-config

树莓派的小小浅学(2)

树莓派的小小浅学(2)

然后就是重启的过程。

我们需要 CMake来配置安装, GCC来编译, Python-develNumpy来构建 Python 绑定等。

sudo apt-get install cmake
sudo apt-get install gcc g++

支持python2:

sudo apt-get install python-dev python-numpy

支持python3:

sudo apt-get install python3-dev python3-numpy

接下来,我们需要 GTK支持 GUI 功能、相机支持(v4l)、媒体支持(ffmpeg、gstreamer)等。

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev

支持 gtk2:

sudo apt-get install libgtk2.0-dev

支持 gtk3:

sudo apt-get install libgtk-3-dev

GTK+ 是一种图形用户界面GUI工具包。也就是说,它是一个 (或者,实际上是若干个密切相关的库的集合),它支持创建基于 GUI 的应用程序。可以把 GTK+ 想像成一个工具包,从这个工具包中可以找到用来创建 GUI 的许多已经准备好的构造块。

GTK+虽然是用C语言写的,但是您可以使用你熟悉的语言来使用GTK+,因为GTK+已经被绑定到几乎所有流行的语言上,如:C++,PHP, Guile,Perl, Python, TOM, Ada95, Objective C, Free Pascal, and Eiffel

另外GTK5都要出来了,我们还在这里用GTK3.

以上依赖项足以在您的树莓派机器上安装 OpenCV。 但是根据您的要求,您可能需要一些额外的依赖项。OpenCV 附带了支持图像格式的文件,如 PNG、JPEG、JPEG2000、TIFF、WebP 等。但它可能有点旧。 如果要获取最新的库,可以安装这些格式的系统库的开发文件。

sudo apt-get install libpng-dev
sudo apt-get install libjpeg-dev
sudo apt-get install libopenexr-dev
sudo apt-get install libtiff-dev
sudo apt-get install libwebp-dev
$ sudo apt-get 安装 git
$ git clone https://github.com/opencv/opencv.git
$ mkdir build
$ cd build

现在我们有了所有必需的依赖项,让我们安装 OpenCV。 安装必须使用 CMake 进行配置。 它指定要安装的模块、安装路径、要使用的附加库、是否要编译文档和示例等。大部分工作都是使用配置好的默认参数自动完成的。以下命令通常用于配置 OpenCV 库构建(从构建文件夹执行):

$ cmake ../
$ make
sudo make install
import cv2 as cv
print(cv.__version__)

这时候你已经成功了。

假如在这里你是失败的,不能导cv2,则尝试下面的方法。

cd /root/.local/lib/python3.9/site-packages
touch path.pth
nano path.pth
添加:/usr/local/lib/python3.9/site-package
因为默认路径是dist-packages,第三方库则需要添加在site-packs
site-package 为python中为第三方module lib安装提供的路径。

然后再测试一下就可以发现成功了

Original: https://blog.csdn.net/qq_53733036/article/details/126532714
Author: 黑色商人
Title: 树莓派的小小浅学(2)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/640895/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • ConvNeXt原理+代码详解(通透)

    文章目录 1、前言 2、设计方案 3、Macro design 4、ResNeXt-ify 5、Inverted Bottleneck 6、Large Kernel Sizes 7…

    人工智能 2023年6月16日
    0151
  • 异常数据分析

    如何确定异常 一般以2倍标准差、3倍标准差作为判断标准 根据同比、环比、对比(例如竞品、相关指标(活跃用户与付费用户))可以考虑《智能运维挑战赛》的思路 探索异常的原因 数据收集是…

    人工智能 2023年6月11日
    0198
  • OpenCV57:级联分类器的训练

    目的 在本章中,将学习: 级联分类器的训练过程 学习函数: opencv_createsamples opencv_annotation opencv_traincascade o…

    人工智能 2023年5月28日
    099
  • 遥感场景识别数据集(场景分类)

    场景识别数据(场景分类) 场景识别通常指对图像整体的常见语义分析和理解,是计算机视觉领域标志性任务之一,在对象识别的基础上,场景识别能够结合上下文信息,从而实现场景主要内容的精确识…

    人工智能 2023年6月30日
    061
  • 使用Keras的面部表情识别

    使用Keras的面部表情识别 项目实施… 介绍和概述 Keras是一个非常强大的开源Python库,它运行在TensorFlow、Theano等其他开源机器库之上,用于…

    人工智能 2023年6月27日
    069
  • .torch.save与torch.jit.save

    1.torch.jit.save torch.jit.save用来保存编译后的模型,支持跨平台,要注意模型中只能使用pytorch的函数。 jit.save支持保存script类型…

    人工智能 2023年7月22日
    042
  • 机器学习Sklearn实战——回归算法应用、xgboost、lightingGBM

    回归算法补全人脸 import numpy as np import matplotlib.pyplot as plt #构建方程 from sklearn.linear_mode…

    人工智能 2023年6月17日
    096
  • Python安装Graphviz 详细图文教程

    @Python 安装Graphviz 详细教程 Python安装Graphviz画图器 首先,要明确他是一个独立的软件,如果大家用pip的方法装了graphviz可以先卸载 pip…

    人工智能 2023年7月4日
    089
  • 图文详解神秘的梯度下降算法原理(附Python代码)

    目录 1 引例 2 数值解法 3 梯度下降算法 4 代码实战:Logistic回归 1 引例 给定如图所示的某个函数,如何通过计算机算法编程求f ( x ) m i n f(x)_…

    人工智能 2023年6月1日
    072
  • K-Means聚类算法

    K-Means聚类算法 ​ k-means算法又名k均值算法,K-means算法中的k表示的是聚类的k个簇,means代表取每一个聚类中数据值的均值作为该簇的中心,或者称为质心,即…

    人工智能 2023年5月31日
    0167
  • 【轻量化模型】mobilenet v2

    MobileNet v2 onnx 导出参考:torchvision onnx 模型导出_星魂非梦的博客-CSDN博客 1. 模型描述 MobileNet v2 来自论文:Mobi…

    人工智能 2023年7月14日
    077
  • Tensorflow 2.x(keras)源码详解之第五章:数据预处理

    大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多…

    人工智能 2023年5月24日
    087
  • GluonTS 模型预测时间序列

    原理 模型如下图所示Zi,t 表示 序列i 在 第t个时间点 的数据Zi,t0就是要预测数据的开始区间预测的数据集合定义为 [ Zi : t0: T] LSTM输入 Xi,1:T表…

    人工智能 2023年6月19日
    096
  • c++函数模板与类模板

    1 模板介绍 模板是C++中泛型编程的基础。一个模板就是一个创建类或函数的蓝图或者公式。 2 函数模板 2.1 函数模板的实现 函数模板形式 template 类型 函数名(形参表…

    人工智能 2023年6月29日
    065
  • Pytorch创建自己的数据集(一)

    定义自己的数据集 * – 1、Dataset+DataLoader实现自定义数据集读取方法 – + * 1.1、整体框架 * 1.2、例子讲解 * 1.3、…

    人工智能 2023年7月13日
    085
  • OpenCv图像锐化及各种高通滤波

    目录 什么是图像锐化以及为什么要进行图像锐化 图像锐化的方法 1.空域滤波的可使用几种方法 1.1梯度法 1.2拉普拉斯算子法 1.3定向滤波法 2.频域方面的高通滤波 2.1理想…

    人工智能 2023年7月20日
    072
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球