资讯专栏INFORMATION COLUMN

树莓派4B安装OpenCV-4.5.2

Betta / 2948人阅读

摘要:最近实验室有个图像识别的项目,目前程序写得差不多了,硬件设备在别人公司,想着在自己的树莓派上运行一下。安装之前的配置要做好。与不同的是,在处理依赖问题上更佳一些。举例来说,在删除一个包时,会同时删除本身所依赖的包。

        最近实验室有个图像识别的项目,目前程序写得差不多了,硬件设备在别人公司,想着在自己的树莓派4B上运行一下。之前在网上也用过一键安装OpenCV,但是安装完可以看到自己系统上OpenCV版本很低,项目程序用到的是OpenCV-4.5.2,在低版本的OpenCV上运行会报错,所以安装自己想要的OpenCV版本很重要,接下来我们来看一下安装过程。

        安装之前的配置要做好。

切换好国内源。首先在LX终端输入sudo nano /etc/apt/sources.list,进入到配置文件,把原来的源前面加上#注释掉,再把国内源复制过去,常用的国内源有

中科大

deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

清华

deb https://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

重庆大学

deb http://mirrors.cqu.edu.cn/Raspbian/raspbian/ stretch main contrib non-free rpi

浙江大学

deb http://mirrors.zju.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

阿里云

deb http://mirrors.aliyun.com/raspbian/raspbian/ stretch main contrib non-free rpi

复制之后,保存退出。在终端输入sudo apt-get updat,然后是sudo apt-get upgrade,值得一提的是,虽然更换了国内源,但是sudo apt-get upgrade这一步还是要很久的,我是放了一晚上让它更新。

        第一步安装numpy

终端输入sudo pip3 install numpy

        第二步安装OpenCV所需要的库

依次执行下面几条命令(大概需要几分钟):

sudo apt-get install build-essential git cmake pkg-config -y

sudo apt-get install libjpeg8-dev -y

sudo apt-get install libtiff5-dev -y

sudo apt-get install libjasper-dev -y

sudo apt-get install libpng12-dev -y

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y

sudo apt-get install libgtk2.0-dev -y

sudo apt-get install libatlas-base-dev gfortran -y

注意,这一步执行某些指令时可能会有错误提示,apt-get install时报错:Unable to correct problems, you have held broken packages.这时可以把上面出错的语句中的”apt-get“换成”aptitude"再执行,例如sudo aptitude install libtiff5-dev -y。补充:aptitude 与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 不同的是,aptitude 在处理依赖问题上更佳一些。举例来说,aptitude 在删除一个包时,会同时删除本身所依赖的包。这样系统中不会残留无用的包,整个系统更为干净。

        第三步下载OpenCV

执行命令从Github上直接下载会很慢,这里就不用这种方法了,另外一种方法是,电脑上下载opencv-4.5.2.zip和opencv_contrib-4.5.2.zip(需要contrib的话,另外这个包版本要一致),把这两个文件通过FileZilla传到树莓派的/home/pi/Doenloads目录下(或自己的目录下,不过这里注意一下路径,后面第四步有执行跟这个路径有关的命令)。下面需要把这两个包解压一下,终端输入cd /home/pi/Downloads进入到该目录,输入unzip opencv-4.5.2.zip(文件名),sudo opencv_contrib-4.5.2.zip。

        第四步设置cmake参数

cd /home/pi/Downloads,在这个目录下创建build,mkdir build,创建好后再cd build进入目录,然后输入下面指令,回车,大概需要十几分钟的时间。

注意紫色的路径和红色的版本,我的python是3.7的。

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=/home/pi/Downloads/opencv_contrib-4.5.2/modules -D BUILD_EXAMPLES=ON -D WITH_LIBV4L=ON PYTHON3_EXECUTABLE=/usr/bin/python3.7 PYTHON_INCLUDE_DIR=/usr/include/python3.7 PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so PYTHON3_NUMPY_INCLUDE_DIRS=/home/pi/.local/lib/python3.7/site-packages/numpy/core/include ..

执行后cmake配置成功的情况是这样的:

 如果没成功,检查路径是否有问题,删除build,重新mkdir build再执行。

        第五步编译

执行下面两步

cd /home/pi/Downloads/opencv-4.5.2/build

make

这个过程的时间比较长,大概用了五个小时,执行成功后应该是这样的

 

 之后再执行sudo make install。

至此整个过程就结束了,下面测试一下安装的OpenCV

终端输入python3回车,再输入import cv2回车输入cv2.__version__

运行后安装成功的情况是这样的

 最后输入exit()退出。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/123171.html

相关文章

  • 树莓系列(十四) 树莓4B安装 docker并配置为 MQTT服务器

    摘要:配置图形化界面下载图形化界面创建容器运行运行之后在浏览器中输入树莓派进入界面。拉取镜像启动容器用树莓派进入服务器后台默认账号默认密码 树莓派4B安装 docker并...

    lemon 评论0 收藏0
  • Linux学习

    摘要:学习树莓派的的初识学习树莓派的的初识初识初识学习书籍正点原子嵌入式驱动开发指南章节第三十章学习内容书中介绍的获取可以有三个途径第一个是的官方代码。网上的烧写树莓派教程很多,但是为了学习我选择了官方的代码。Linux学习 - 树莓派4b的U-Boot的初识初识U-Boot学习书籍:《【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.5.1》章节:第三十章学习内容:书中介绍uboot的获...

    不知名网友 评论0 收藏0
  • 树莓4B安装uboot

    摘要:要想放到树莓派上运行,需要官方提供的固件四下载直接下载我们所需的在文件夹中,将其中的复制到卡的分区中之前分区时大小为,格式为的那个,再将编译好的一同复制进去。 2021SC@SDUSC 一、uboot的介绍 1.1、计算机系统的主要部件 (1)计算机系统就是以CPU为核心来运行的系统。典型的...

    izhuhaodev 评论0 收藏0
  • 树莓Opencv-python快速安装

    摘要:下载文件并传到树莓派上在电脑上打开下载与自己版本相对的文件,本文下载的是将其使用传输到树莓派,打开文件所在的树莓派目录,安装文件,显示成功安装。 在树莓派上直接下载opencv-python往往不能成功,近期查阅了csdn中的很多相关文章,发现大多文章讲解的过程比较复杂又麻烦且不一定能成功...

    J4ck_Chan 评论0 收藏0
  • 树莓利用DHT11上传数据到电脑MySQL上

    摘要:工具树莓派温湿度传感器在开始实验之前,要在电脑上安装,并且建立好一个数据库连接。到这里对电脑配置就结束了,对了,还有如果你们到时运行树莓派代码出现远程连接失败错误码,像下图这是因为,你的防火墙开了,把防火墙关掉就不会报这个错误了。 ...

    不知名网友 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<