首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >树莓派4B:编译安装OpenCV3.4.7 (使用源码形式进行编译安装)

树莓派4B:编译安装OpenCV3.4.7 (使用源码形式进行编译安装)

作者头像
DS小龙哥
发布2022-01-12 10:46:53
发布2022-01-12 10:46:53
1.8K00
代码可运行
举报
运行总次数:0
代码可运行

一、环境介绍

开发板:树莓派4B

OpenCV版本: 3.4.9

操作系统:开发板原始自带的32位操作系统

代码语言:javascript
代码运行次数:0
运行
复制
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.19.97-v7l+ #1294 SMP Thu Jan 30 13:21:14 GMT 2020 armv7l GNU/Linux

pi@raspberrypi:~ $ cat /proc/version
Linux version 4.19.97-v7l+ (dom@buildbot) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1294 SMP Thu Jan 30 13:21:14 GMT 2020

编译好的库可直接使用:https://download.csdn.net/download/xiaolong1126626497/12451302

二、编译安装OpenCV

2.1 下载OpenCV

OpenCV下载地址: https://opencv.org/releases/

我这里下载的是:3.4.9版本

压缩包的名称: opencv-3.4.9.zip

操作树莓派连接方式:使用windows远程桌面连接。

远程桌面不会看这里:https://blog.csdn.net/xiaolong1126626497/article/details/106099194

2.2 安装cmake

编译OpenCV源码需要使用cmake,为了方便编译,这里下载安装cmake图像界面版本,方便可视化配置。

命令行执行的命令如下:

代码语言:javascript
代码运行次数:0
运行
复制
sudo apt-get install cmake
sudo apt  install cmake-qt-gui
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config

2.3 编译前说明

树莓派4B本身的空间不太够用,我这里是外插了一张16GB的SD-通过USB读卡器接入,并在PC机上将这张SD卡格式化成ext4文件系统,在树莓派上解压编译OpenCV源码都在这张SD卡空间上进行。

注意: 一定要ext4文件系统,不能是FAT或者NTFS之类的文件系统。

2.4 编译配置OpenCV源码

这一步执行完要没有报错才行,也就是界面上不能报错,有错误就根据提示解决错误。

执行完第2步之后,就关闭软件,进入到第编译目录下,进行编译安装。

代码语言:javascript
代码运行次数:0
运行
复制
pi@raspberrypi:/media/pi/sdcard/work/opencv-3.4.9/Build $cd /media/pi/sdcard/work/opencv-3.4.9/Build

pi@raspberrypi:/media/pi/sdcard/work/opencv-3.4.9/Build $make && make install

编译成功之后,将生成的库文件和头文件全部拷贝到/use目录下一份。

2.5 测试OpenCV : 使用g++编译示例代码

在OpenCV的samples/cpp/example_cmake 目录下,有一份测试示例代码,效果是打开摄像头。

代码语言:javascript
代码运行次数:0
运行
复制
pi@raspberrypi:/media/pi/sdcard/work/opencv-3.4.9/samples/cpp/example_cmake $ g++ example.cpp -lopencv_calib3d -lopencv_objdetect -lopencv_core -lopencv_photo -lopencv_dnn -lopencv_shape -lopencv_features2d  -lopencv_stitching -lopencv_flann -lopencv_superres -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs  -lopencv_video -lopencv_imgproc -lopencv_videostab -lopencv_ml
pi@raspberrypi:/media/pi/sdcard/work/opencv-3.4.9/samples/cpp/example_cmake $ 
pi@raspberrypi:/media/pi/sdcard/work/opencv-3.4.9/samples/cpp/example_cmake $ ./a.out 

要测试这份代码,可以先找一个USB摄像头插在树莓派4B的USB口上。

2.6 测试python的OpenCV模块

进入python3的命令行,导入cv2模块,查看OpenCV版本。

python2 也是正常的。

2.7 使用python调用OpenCV模块,打开电脑摄像头

代码语言:javascript
代码运行次数:0
运行
复制
import numpy as np
import cv2
#调用笔记本内置摄像头,所以参数为0,如果有其他的摄像头可以调整参数为1,2
cap=cv2.VideoCapture(0)
while True:
    #从摄像头读取图片
    sucess,img=cap.read()
    #转为灰度图片
    #gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    #显示摄像头,背景是灰度。
    #cv2.imshow("img",gray)
    cv2.imshow("img",img) #显示彩图
    #保持画面的持续。
    k=cv2.waitKey(1)
    if k == 27:
        #通过esc键退出摄像
        cv2.destroyAllWindows()
        break
    elif k==ord("s"):
        #通过s键保存图片,并退出。
        cv2.imwrite("image2.jpg",img)
        cv2.destroyAllWindows()
        break
#关闭摄像头
cap.release()
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/05/23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、环境介绍
  • 二、编译安装OpenCV
    • 2.1 下载OpenCV
    • 2.2 安装cmake
    • 2.3 编译前说明
  • 2.4 编译配置OpenCV源码
    • 2.5 测试OpenCV : 使用g++编译示例代码
    • 2.6 测试python的OpenCV模块
    • 2.7 使用python调用OpenCV模块,打开电脑摄像头
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档