查看: 3008|回复: 0

树莓派安装openCV做图像识别

[复制链接]

主题

好友

999

积分

举人

  • TA的每日心情
    擦汗
    2019-10-29 16:05
  • 签到天数: 43 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2019-3-4 10:52:26 |显示全部楼层
    分享到:
    有时候我们会使用树莓派和摄像头去做图像识别,在树莓派和LINUX系统中最常用opencv去做图像识别,这次来介绍下树莓派安装opencv和用树莓派做图像识别。
    一、树莓派的系统安装就不介绍了。直接开机打开树莓派的命令窗口,安装openCV的依赖包,步骤有点多。
    1.1 更新系统
    $ sudo apt-get update$ sudo apt-get upgrade1.2 安装编译openCV源码的工具
    $ sudo apt-get install build-essential cmake pkg-config1.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-dev1.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.py3.2 安装python虚拟环境
    $ sudo pip install virtualenv virtualenvwrapper$ sudo rm -rf ~/.cache/pip之后在~/.profile文件最后添加几行
    # virtualenv and virtualenvwrapperexport WORKON_HOME=$HOME/.virtualenvssource /usr/local/bin/virtualenvwrapper.sh3.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 ldconfig4.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 下一条



    手机版|电路城

    GMT+8, 2020-9-27 09:02 , Processed in 0.077599 second(s), 15 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz!

    返回顶部