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

树莓派安装 OpenCV 教程

以下是在树莓派上安装 OpenCV 的教程:

笔者当前Python版本:3.7.3

一、更新树莓派系统

在终端中运行以下命令:

sudo apt update
sudo apt upgrade

二、安装必要的依赖项

  1. 安装构建工具和图像 I/O 库:
sudo apt install build-essential cmake pkg-config
sudo apt install libjpeg-dev libtiff5-dev libjasper-dev libpng-dev
  1. 安装视频 I/O 库:
sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt install libxvidcore-dev libx264-dev
  1. 安装 GTK 图形界面库(用于显示图像等):
sudo apt install libgtk2.0-dev libgtk-3-dev
  1. 安装优化的线性代数库:
sudo apt install libatlas-base-dev gfortran

三、安装 OpenCV

方法一. 直接安装OpenCV :

sudo apt-get install python3-opencv

方法二. 下载 OpenCV 源代码:

可以从 OpenCV 的官方 GitHub 仓库下载源代码。在终端中运行以下命令:

wget -O opencv.zip https://github.com/opencv/opencv/archive/4.7.0.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.7.0.zip

注意:

1.这里下载如果很慢的话,建议开魔法直接访问网址进行下载,然后本地通过Filezilla等文件传输工具传到树莓派的/home/pi/目录下

2.没有魔法的朋友也可以云盘下载:

通过网盘分享的文件:opencv-4.7.0.zip

通过网盘分享的文件:opencv_contrib-4.7.0.zip

  1. 解压文件:
unzip opencv-4.7.0.zip
unzip opencv_contrib-4.7.0.zip
  1. 创建一个构建目录并进入:
opencv-4.7.0
mkdir opencv_build
cd opencv_build
  1. 使用 CMake 配置构建:
cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-4.7.0/modules \
    -D ENABLE_NEON=ON \
    -D ENABLE_VFPV3=ON \
    -D BUILD_TESTS=OFF \
    -D INSTALL_PYTHON_EXAMPLES=OFF \
    -D BUILD_EXAMPLES=OFF ..
  1. 编译和安装:
make -j4
sudo make install

(这里的 -j4 表示使用 4 个线程进行编译,可以根据树莓派的性能调整这个数字。)

四、验证安装

  1. 在 Python 中验证:

打开 Python 解释器,运行以下命令:

import cv2
print(cv2.__version__)

如果成功打印出 OpenCV 的版本号,则说明安装成功。

  1. 运行一个简单的 OpenCV 程序:

创建一个名为 test_opencv.py 的文件,内容如下:

import cv2

img = cv2.imread('test.jpg')
cv2.imshow('Image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

确保有一个名为 test.jpg 的图像文件在同一目录下,然后运行这个程序:

python test_opencv.py

如果成功显示图像窗口,则说明 OpenCV 安装和配置正确。


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

相关文章:

  • Spring boot + Vue2小项目基本模板
  • CC6学习记录
  • 【从零开始的LeetCode-算法】3239. 最少翻转次数使二进制矩阵回文 I
  • 基于Java Springboot快递物流管理系统
  • STM32设计学生宿舍监测控制系统
  • 从0学习React(11)
  • 110个oracle常用函数总结
  • uniapp中基于vue3实现输入验证码功能
  • Android 地图搜索商家,检索关键字(高德地图,百度地图),地址搜索(1)
  • windows 显示进程地址空间
  • win11下面的virtualenv的使用(没写完)
  • Excel文档的读取(3)
  • 93、k8s之hpa+helm
  • AI prompt(提示词)
  • 根据ArrayList<Object>中对象的多个属性值进行模糊匹配,并找到所有匹配的对象
  • 企业应该如何安全上网,软件防查盗版,企业防盗版
  • uniapp如何监听页面滚动?
  • Boost.pyhon 使用方法
  • 图片详解,最简单易懂!!!Ubuntu增强功能
  • 轮询解决方案
  • C++20 新特征:概念(Concepts)全面解析
  • PointNet++改进策略 :模块改进 | SPVConv, 体素和点云特征融合提升小目标检测能力
  • html+css+js网页设计 旅游 龙门石窟4个页面
  • Spring Boot 注解探秘:Bean 管理的艺术
  • 【Qt应用】Qt编写简易登录注册界面
  • DAY14信息打点-JS 架构框架识别泄漏提取API 接口枚举FUZZ 爬虫插件项目