『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 7464|回复: 13

[进阶教程] 树莓派安装OpenCV

[复制链接]

5

主题

252

帖子

1940

积分

金牌会员

Rank: 6Rank: 6

积分
1940
金钱
1688
HASS币
0
发表于 2017-7-4 00:21:22 | 显示全部楼层 |阅读模式
深知网络上树莓派安装OpenCV的教程层出不穷,但是基本上都是从其他地方copy的,而且copy的不完全,而且树莓派下用lena.jpg测试opencv的教程很难找到。虽然互联网的共享精神值得肯定,但是不负责任的共享对于急于使用树莓派+opencv的童鞋是极为不负责任的,最近帮学弟在树莓派3上配opencv3.0,本着科学需要负责和专业,希望大家能不再走弯路,毕竟一次编译opencv短则10分钟,长则几小时,加快编译速度对初学者来说也是个相对冷门的技术,本文作如下总结。为没有摄像头的同学提供一个我们500w摄像头,售价30RMB:https://item.taobao.com/item.htm ... p;scene=taobao_shop
本文以树莓派2/3安装opencv3.0附加python2.7为例,介绍完整流程,请一次就执行完这些流程,期间可能有些步骤耗时很长,所以可以拿本书看看,或者用手机看个剧,整体耗时应该在一部电影的时间左右。
首先进入Raspberry Pi系统,确保树莓派连上网络,然后Ctrl + Alt +t打开命令终端(直接点击终端图标可能会卡),如果终端窗口没有出现的话,从顶部任务栏可以找到,点开就好。
”~”  符号树莓派键盘打不出来 用笔记本SSH连上去操作
首先是以下这几条更新命令,每次单独执行:
1.  sudo apt-get update  
2.  sudo apt-get upgrade  
3.  sudo rpi-update  

然后执行安装opencv的构建相关命令:
1.  sudo apt-get install build-essential git cmake pkg-config  

然后是以下这几条命令安装图片工具包,每次单独执行(网上有很多一起执行的,但是经常出现问题)
1.  sudo apt-get install libjpeg8-dev  
2.  sudo apt-get install libtiff5-dev  
3.  sudo apt-get install libjasper-dev  
4.  sudo apt-get install libpng12-dev  

然后是视频I/O包:
1.  sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev  

下面安装GTK:
1.  sudo apt-get install libgtk2.0-dev  

然后安装优化函数的包:
1.  sudo apt-get install libatlas-base-dev gfortran  

然后执行以下命令下载opencv3.0:
1.  cd   /home/pi  
3.  cd opencv
4.  git checkout 3.0.0  

然后安装opencv_contrib:
1.  cd  /home/pi  
3.  cd opencv_contrib  
4.  git checkout 3.0.0  

然后安装Python开发包:
1.  sudo apt-get install python2.7-dev  

2.  sudo python get-pip.py  

然后安装virtualenv virtualenvwrapper:
1.  sudo pip install virtualenv virtualenvwrapper  
2.  sudo rm -rf ~/.cache/pip  

下面这个步骤不仅仅是命令了,打开~/.profile文件,我是使用vim打开的:
1.  sudo nano ~/.profile(”~”符号树莓派键盘打不出来 用笔记本SSH连上去)  

打开profile后,在这个文件最后,添加以下内容后保存退出:
1.  # virtualenv and virtualenvwrapper  
2.  export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2.7  
3.  export WORKON_HOME=$HOME/.virtualenvs  
4.  source /usr/local/bin/virtualenvwrapper.sh  

然后执行下面这个命令:
1.  source  ~/.profile  

然后创建虚拟工作环境并进入:
1.  sudo  mkvirtualenv LC  
2.  workon LC  

一定要确保进去刚刚创建的虚拟环境了,进入虚拟环境的标志是进去后命令的最前面(绿字前面)都会增加“(LC)”。
下面在虚拟环境中安装numpy:
1.  pip install numpy  
2.  sudo rm -rf ~/.cache/pip/  
3.  pip install numpy  

一定确保在刚刚的虚拟环境下进行以下操作,如果新开了一个命令行窗口,那么就依次执行 source~/.profile 命令和 workon LC 命令进入虚拟环境再执行以下操作。
执行以下命令来设置编译:
1.  cd ~/opencv  
2.  mkdir build  
3.  cd build  
4.  cmake -D CMAKE_BUILD_TYPE=RELEASE \  
5.   -D CMAKE_INSTALL_PREFIX=/usr/local \  
6.   -D INSTALL_C_EXAMPLES=ON \  
7.   -D INSTALL_PYTHON_EXAMPLES=ON \  
8.   -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \  
9.   -D BUILD_EXAMPLES=ON ..  

执行以下命令开始正式编译opencv3.0:
1.  make -j56(这个如果报错就别写-j56了,写-j4,主要是为了强行加快opencv编译速度)我建议直接写成make -j4  

编译完后进行安装:
1.  sudo make install  

安装后进行相关配置:
1.  sudo ldconfig  

整个流程严格走下来就应该已经成功了,可以关掉这个命令行窗口了。
网上很多OpenCV打开摄像头的实例都是基于USB 摄像头的,很少介绍原装CSI摄像头的,我们需要做一下如下修改
打开/etc/下面的modules-load.d/rpi-camera.conf
sudo nano /etc/modules-load.d/ modules.conf
在最后添加一行 bcm2835-v4l2
意思是在系统启动之后加载bcm2835-v4l2这个模块
然后重启,会发现/dev/下面发现video0设备节点,opencv就能正常调用了
××××××××××××××××××××××××下面是测试opencv的流程×××××××××××××××××××××××××××××××
cd opencv/samples/python2/
sudo python video.py
出现视频框  完美结束
接下来 就可以跟我一起学做人脸识别门禁系统 人脸追踪  等等

评分

参与人数 2金钱 +15 收起 理由
windgo + 10 谢谢分享!
lidicn + 5 很给力!

查看全部评分

回复

使用道具 举报

5

主题

252

帖子

1940

积分

金牌会员

Rank: 6Rank: 6

积分
1940
金钱
1688
HASS币
0
 楼主| 发表于 2017-7-4 00:29:14 | 显示全部楼层
# Example configuration.yaml entry
image_processing:
  - platform: opencv
    name: Front Door Faces
    source:
      - entity_id: camera.front_door
    classifier:
      mom: /path/to/classifier.xml
回复

使用道具 举报

1

主题

37

帖子

595

积分

管理员

米罗月色

Rank: 9Rank: 9Rank: 9

积分
595
金钱
558
HASS币
0
发表于 2017-7-4 01:57:02 | 显示全部楼层
原创?
回复

使用道具 举报

30

主题

999

帖子

4119

积分

论坛元老

Rank: 8Rank: 8

积分
4119
金钱
3115
HASS币
0

活跃会员

发表于 2017-7-4 05:35:32 | 显示全部楼层
高大上啊
回复

使用道具 举报

1

主题

162

帖子

1029

积分

金牌会员

Rank: 6Rank: 6

积分
1029
金钱
867
HASS币
0
发表于 2017-7-4 15:02:04 | 显示全部楼层
支持!!!!!!!!!
回复

使用道具 举报

3

主题

154

帖子

1187

积分

金牌会员

Rank: 6Rank: 6

积分
1187
金钱
1033
HASS币
0
发表于 2017-7-5 19:04:22 | 显示全部楼层
保存备用啊
回复

使用道具 举报

5

主题

296

帖子

2062

积分

金牌会员

Rank: 6Rank: 6

积分
2062
金钱
1766
HASS币
0
发表于 2017-7-5 19:39:22 | 显示全部楼层
好好学习,备用
回复

使用道具 举报

5

主题

258

帖子

1388

积分

金牌会员

Rank: 6Rank: 6

积分
1388
金钱
1130
HASS币
0
发表于 2017-7-6 13:23:43 | 显示全部楼层
学习了 ,留着备用
孜孜不倦的小白用户
回复

使用道具 举报

3

主题

222

帖子

3027

积分

元老级技术达人

积分
3027
金钱
2800
HASS币
10
发表于 2017-7-6 15:02:03 | 显示全部楼层
这个是干货了,接入过easypr,不过不是用hass
回复

使用道具 举报

0

主题

162

帖子

693

积分

高级会员

Rank: 4

积分
693
金钱
531
HASS币
0
发表于 2017-7-6 17:07:50 | 显示全部楼层

支持!!!!!!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-5 23:35 , Processed in 0.102466 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表