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

树莓派安装 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 cv2img = cv2.imread('test.jpg')
cv2.imshow('Image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

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

python test_opencv.py

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

http://www.lryc.cn/news/441162.html

相关文章:

  • 01,大数据总结,zookeeper
  • 伪工厂模式制造敌人
  • 【linux】pwd命令
  • Python 如何封装工具类方法,以及使用md5加密
  • 网络编程的应用
  • 佰朔资本:国内海风加速招标 船舶行业景气上行
  • 理解AAC和Opus的编码与解码流程
  • 设计图纸加密方法知多少?小编给你讲清楚
  • pycv实时目标检测快速实现
  • 记录下如何让字体在div内 自动换行 上下居中
  • Shell篇之编写MySQL启动脚本
  • supermap Iclient3d for cesium加载地形并夸大地形
  • 一文解读OLAP的工具和应用软件
  • xml重点笔记(尚学堂 3h)
  • 爬虫代理API的全面解析:让数据抓取更高效
  • PCL 点云中的植被信息提取(C++详细过程版)
  • requests-html的具体使用方法有哪些?
  • YOLOv9改进策略【卷积层】| AKConv: 具有任意采样形状和任意参数数量的卷积核
  • 图神经网络池化方法
  • 小琳AI课堂:确保大语言模型安全的八大策略--从数据隐私到用户教育
  • Python 数学建模——高斯核密度估计
  • Flink+Spark相关记录
  • 2023 hnust 湖科大 毕业实习 报告+实习鉴定表
  • ConflictingBeanDefinitionException | 运行SpringBoot项目时报错bean定义冲突解决方案
  • 如何切换淘宝最新镜像源(npm)【2024版】
  • YoloV10改进策略:Block改进|PromptIR(NIPS‘2023)|轻量高效,即插即用|(适用于分类、分割、检测等多种场景)
  • 使用rust自制操作系统内核
  • Flink难点和高阶面试题:Flink的状态管理机制如何保证数据处理的准确性和完整性
  • 【激励广告带来的广告收入与用户留存率的双重提升】
  • 指针和引用;内联函数和普通函数