树莓派安装openCV做图像识别

小白学视觉

共 7333字,需浏览 15分钟

 ·

2021-07-05 07:43

点击上方小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

本文转自|新机器视觉

有时候我们会使用树莓派和摄像头去做图像识别,在树莓派和LINUX系统中最常用opencv去做图像识别,这次来介绍下树莓派安装opencv和用树莓派做图像识别。


一、树莓派的系统


安装就不介绍了。直接开机打开树莓派的命令窗口,安装openCV的依赖包,步骤有点多。


1.1 更新系统

$ sudo apt-get update$ sudo apt-get upgrade


1.2 安装编译openCV源码的工具

$ sudo apt-get install build-essential cmake pkg-config


1.3 安装一些常见格式的图像处理和视频处理的包,方便我们能从硬盘上读取不同格式的图像和视频

$ sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev$ sudo apt-get install libxvidcore-dev libx264-dev


1.4 openCV用于图像展示的功能需要依模块

$ sudo apt-get install libgtk2.0-dev$ sudo apt-get install libatlas-base-dev gfortran


接下来还需要安装python dev

sudo apt-get install python2.7-dev python3-dev


二、下载 并解压OpenCV 的资源库

$ cd ~$ wget -O opencv.zip <a href="https://github.com/Itseez/opencv/archive/3.1.0.zip">https://github.com/Itseez/opencv/archive/3.1.0.zip</a>$ unzip opencv.zip$ wget -O opencv_contrib.zip <a href="https://github.com/Itseez/opencv_contrib/archive/3.1.0.zip">https://github.com/Itseez/opencv_contrib/archive/3...</a> $ unzip opencv_contrib.zip


三、接下来准备python的开发环境


3.1 安装python包管理器:

$ wget <a href="https://bootstrap.pypa.io/get-pip.py">https://bootstrap.pypa.io/get-pip.py</a> $ sudo python get-pip.py


3.2 安装python虚拟环境

$ sudo pip install virtualenv virtualenvwrapper$ sudo rm -rf ~/.cache/pip


之后在~/.profile文件最后添加几行


# virtualenv and virtualenvwrapperexport WORKON_HOME=$HOME/.virtualenvssource /usr/local/bin/virtualenvwrapper.sh


3.3 接下来就是生成一个python虚拟环境用于opencv的开发环境


$ mkvirtualenv cv -p python3


打开一个命令窗口,执行下列命令,确认我们的cv环境已经生成好了

$ source ~/.profile$ workon cv


如果命令窗口前面的文字变成了(cv)则表明我们已成功创建了名为cv的python虚拟环境



3.4 在cv虚拟环境下安装numpy

(cv) -> ~ $ pip install numpy


接下来的操作都要保持在cv环境中。


四、编译和安装openCV


4.1 一定要在cv环境里,接下来用cmake进行编译opencv

$ cd ~/opencv-3.1.0/$ mkdir build$ cd build$ cmake -D ENABLE_PRECOMPILED_HEADERS=OFF \-D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.1.0/modules \ -D BUILD_EXAMPLES=ON ..


4.2 开始编译opencv

$ make -j4<br>


编译过程大概会用好几个小时,请耐心等候,-j 是使用多少线程进行编译,在树莓派上使用的单线程编译,虽然速度会慢很多,但是不会死机,用-j4会有死机的可能。如果-j后不加数字,则默认不限制线程编译。


编译过程如下



4.3 安装opencv

$ sudo make install$ sudo ldconfig


4.4 python虚拟环境中链接到opencv模块


我们需要将cv2.cpython-34m.so重命名为cv2.so

$ cd /usr/local/lib/python3.4/site-packages/$ sudo mv cv2.cpython-34m.so cv2.so


然后将python虚拟环境中的cv2.so链接到上面刚被改名为cv2.so的文件上

$ cd ~/.virtualenvs/cv/lib/python3.4/site-packages/$ ln -s /usr/local/lib/python3.4/site-packages/cv2.so cv2.so



五、测试OpenCV3是否安装成功

$ source ~/.profile $ workon cv$ python>>> import cv2>>> cv2.__version__'3.1.0'>>>



六、完成OpenCV的开发环境后,就可以跑几个简单的图像识别的DEMO


其DEMO放在/usr/local/share/OpenCV/sample/python目录下



我们将/usr/local/share/OpenCV/sample/文件拷贝到Downloads/sample/文件夹下



跑几个DEMO


边缘检测算法:(cv)   python edge.py


模式识别算法:(cv)   python find_obj.py


运动方向检测:(cv)   python lk_track.py


大功告成,opencv是树莓派进行图像处理和识别的常用工具,如果配合树莓派CSI的摄像头获取相片并识别处理将会更加有趣,可以做成人脸识别或者人脸追踪。



下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲
小白学视觉公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲
小白学视觉公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


浏览 71
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报