OpenCV加mySQL树莓派_树莓派3B/3B+和4B安装OpenCV教程 (详细教程)

安装前准备

在树莓派上拓展文件系统

如果你使用的树莓派为新装的系统,那么第一件事情就是扩展文件系统,以包括microSD卡上的所有空间。

具体步骤如下:

1.在树莓派终端(或者SSH)上输入:

1 $ sudo raspi-config

2.然后选择“高级选项”菜单项

dd0e308f2da9da1853044d16b58d92a4.png

3.然后选择“扩展文件系统”:

8539f04c865daaf396e63df61ff2346e.png

4. 选择第一个选项“A1.Expand Filesystem”,按键盘上的Enter键,完成后点击“Finish”按钮,重新启动树莓派。

如果不能重启,则可以执行以下操作:

1 $ sudo reboot

重新启动后,文件系统已经扩展为包括micro-SD卡上的所有空间。可以通过执行 df -h 检查输出来验证磁盘是否已扩展。

1 $ df -h

746dfa843e5e106d65f2d3115d55ee9b.png

5. 此时我的树莓派文件系统已扩展为包含16GB的micor-SD卡。如果您使用的是8GB卡,则可能使用了将近50%的可用空间,

因此,一件简单的事情就是删除LibreOffice和Wolfram引擎以释放Pi上的一些空间:

1 $ sudo apt-get purge wolfram-engine2 $ sudo apt-get purge libreoffice*

3 $ sudo apt-getclean4 $ sudo apt-get autoremove

2.更换树莓派源为清华镜像源,防止后面下载GTK2.0失败。

安装步骤

1.更新系统

1 $ sudo apt-get update && sudo apt-get upgrade

c92021c254dc3e390bcf1d80798f988c.png

2.在树莓派上安装OpenCV所需要依赖的工具和一些图像视频库

安装包括CMake的开发人员工具

1 //安装build-essential、cmake、git和pkg-config

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

fc188003357c76f79101ca4401838d79.png

安装常用图像工具包

1 //安装jpeg格式图像工具包

2 sudo apt-get install libjpeg8-dev

5b794e69a5249cea580c29a4d7022712.png

1 //安装tif格式图像工具包

2 sudo apt-get install libtiff5-dev

c9c0057bc5b7e8f792ed575deedf311e.png

1 //安装JPEG-2000图像工具包

2 sudo apt-get install libjasper-dev

3b8de4da8d78d22eec8e2d0785d390ed.png

1 //安装png图像工具包

2 sudo apt-get install libpng12-dev

b5ac22b9b26ab4efc1c160aa131871ce.png

安装常用的视频库

1 //v4l中4后面的是 英文字母“l”

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

ec27a858c4c8458c1bad32ffed306d25.png

安装GTK2.0

1 sudo apt-get install libgtk2.0-dev

35c03e6438273e93336821f5b1689b97.png

安装OpenCV数值优化函数包

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

1fd8bb7a1aa23b597035cabc95e79df6.png

3.下载编译OpenCV源码

下载opencv3.4.3和opencv_contrib3.4.3

1 //下载OpenCV

2 wget -O opencv-3.4.3.zip https://github.com/Itseez/opencv/archive/3.4.3.zip

b09ed1cc4ba27de81694f3633e0dfdfa.png

1 //解压OpenCV

2 unzip opencv-3.4.3.zip

4f4849c4ffe5f6e60c16d50ea1ebe91e.png

1 //下载OpenCV_contrib库:

2 wget -O opencv_contrib-3.4.3.zip https://github.com/Itseez/opencv_contrib/archive/3.4.3.zip

ff8a0a80403f02759543305b13fc9a23.png

1 //解压OpenCV_contrib库:

2 unzip opencv_contrib-3.4.3.zip

9c178a26265dddcca95ac8cebedf275d.png

配置CMake编译OpenCV 3环境

使用CMake设置编译,然后运行 make 来编译OpenCV。这是整个过程中耗时最长的步骤,大约4个小时。

回到OpenCV存储库并创建 build 文件夹,用来存放 CMake 编译时产生的临时文件。

1 //具体路径请以实际为准

2 cd ~/opencv-3.4.3

3

4 //新建build文件夹

5 mkdir build6

7 //进入build文件夹

8 cd build9

092f1790a363cf5dbec908bcb3bc780c.png

设置CMake编译参数,安装目录默认为/usr/local

注意参数名、等号和参数值之间不能有空格,每行末尾“\”之前有空格,这里使用换行符“\”是为了看起来工整,参数值最后是两个英文的点,意思是上级

目录(【注意】如果在root用户下执行cmake命令,请将OPENCV_EXTRA_MODULES_PATH的值改为绝对路径,如:/home/pi/opencv_contrib-3.4.3/modules):

/** CMAKE_BUILD_TYPE是编译方式

* CMAKE_INSTALL_PREFIX是安装目录

* OPENCV_EXTRA_MODULES_PATH是加载额外模块

* INSTALL_PYTHON_EXAMPLES是安装官方python例程

* BUILD_EXAMPLES是编译例程(这两个可以不加,不加编译稍微快一点点,想要C语言的例程的话,在最后一行前加参数INSTALL_C_EXAMPLES=ON,要C++例程的话在最后一行前加参数INSTALL_C_EXAMPLES=ONINSTALL_CXX_EXAMPLES=ON)

**/sudo cmake-D CMAKE_BUILD_TYPE=RELEASE \-D CMAKE_INSTALL_PREFIX=/usr/local \-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.4.3/modules \-D INSTALL_PYTHON_EXAMPLES=ON \-D INSTALL_CXX_EXAMPLES=ON \-D BUILD_EXAMPLES=ON ..

a38463b6a6f1ffe9972b130ff1b855b6.png

配置完后如下图:

5094fb1dde57a5bb4e59309411a2414c.png

备份build文件中的东西

因为下一步的编译会使用build文件中的东西,假如编译失败后还要重新进行cmake,比较耽误时间,这里可以直接备份一下cmake好的build文件夹,

命名为build1,重新make的时候可以拿来用。

1 //返回上层目录

2 cd ..3 //备份release文件夹

4 cp -r release ./release1

3e73c003b0dd7e4c2bd8cf27d0b21f31.png

为树莓派增加SWAP

在开始编译之前,建议你增加交换空间。这将使你使用树莓派的所有四个内核来编译OpenCV,而不会由于内存耗尽导致编译挂起。

打开/etc/dphys-swapfile文件:

1 $ sudo nano /etc/dphys-swapfile

然后编辑CONF_SWAPSIZE变量:

d2d4c52d1248445369d267950b26a315.png

注意:此处我将交换空间从100MB增加到2048MB;如果你不执行此步骤,你的树莓派编译时很可能挂起。

重新启动交换服务:

1 $ sudo /etc/init.d/dphys-swapfile stop2 $ sudo /etc/init.d/dphys-swapfile start

8ee3c3e15e34f0a120c8933931af8935.png

注意:增加交换空间的大小是烧坏树莓派 microSD卡的好方法。基于闪存的存储只能执行有限数量的写操作,直到该卡基本不能够容纳1和0。我们只能在短时间内

启动大型交换,所以这没什么大问题的。

编译OpenCV 3

1 /**2 * 以管理员身份,否则容易出错3 * make命令参数-j4指允许make使用最多4个线程进行编译,这样编译速度会更快4 * 可以根据自己机器的情况进行更改5 * 使用tee命令可以将编译过程中终端显示的信息保存到make.log文件中,便于查看,这样即使VNC断线,终端的* 信息太多看不到,也可以通过make.log文件查看编译过程。6 **/

7

8 sudo make -j4 2>&1 | tee make.log

6c5c2647c21af802b8bf3491c1d1745d.png

如果看到进度编译到100%,那么说明编译安装成功。

07ee43c16482183b72267bba07a51092.png

1 //安装

2 sudo make install3

4 //更新动态链接库

5 sudo ldconfig

bc9278d26b12b29403064b6fa2f9a745.png

注意: 不要忘记回到 /etc/dphys-swapfile 文件:

1.将 CONF_SWAPSIZE 重置为 100MB

2.重新启动交换服务

其他配置

设置库的路径,相当于windows下的环境变量,便于使用OpenCV库,也可以不进行设置,使用的时候说明路径也可。例如在编译时说明使用库的路径是 -L/usr/local/lib

1.配置opencv.conf

打开opencv.conf配置文件,在末端加入如下内容:

1 //这里我使用的是树莓派默认的nano,也可以使用vim、gedit.打开opencv.conf文件

2 sudo nano /etc/ld.so.conf.d/opencv.conf3

4 /**5 *在末端添加如下内容6 *注意:?表示一个空格,可能原因是有的语言要求最后有一个空格才可以编译通过。7 **/

8 /usr/local/lib9 ?

10

11 //加载一下

12sudo ldconfig

cff2aed6bc110ea411a98eba39d863c7.png

2.打开 bash.bashrc 配置文件

1 //打开bash.bashrc配置文件

2 sudo gedit /etc/bash.bashrc3

4

5 //在最后添加如下内容

6 PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig7 export PKG_CONFIG_PATH

859a7bd2cbebbe6cb348d6164c816426.png

3.重启树莓派

1 sudo reboot

检测OpenCV使用是否正常

python程序

1 import cv22 import numpy asnp3 cv2.namedWindow("gray")4 img = np.zeros((512,512),np.uint8)#生成一张空的灰度图像5 cv2.line(img,(0,0),(511,511),255,5)#绘制一条白色直线6 cv2.imshow("gray",img)#显示图像7 #循环等待,按q键退出8 whileTrue:9 key=cv2.waitKey(1)10 if key==ord("q"):11 break

12 cv2.destoryWindow("gray")

保存文件为 test.py ,并在终端运行程序

1 sudo python3 test.py

运行结果如下:

6f3d57ec34bc370fc7c3c361f0d2d67d.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值