(转)树莓派系列安装opevcv3.0教程填坑版

  深知网络上树莓派安装OpenCV的教程层出不穷,但是基本上都是从其他地方copy的,而且copy的不完全,而且树莓派下用lena.jpg测试opencv的教程很难找到。虽然互联网的共享精神值得肯定,但是不负责任的共享对于急于使用树莓派+opencv的童鞋是极为不负责任的,最近帮学弟在树莓派3上配opencv3.0,本着科学需要负责和专业,希望大家能不再走弯路,毕竟一次编译opencv短则10分钟,长则几小时,加快编译速度对初学者来说也是个相对冷门的技术,本文作如下总结。

  本文以树莓派2/3安装opencv3.0附加python2.7为例,介绍完整流程,请一次就执行完这些流程,期间可能有些步骤耗时很长,所以可以拿本书看看,或者用手机看个剧,整体耗时应该在一部电影的时间左右。

  首先进入Raspberry Pi系统,确保树莓派脸上网络,然后Ctrl + Alt +t打开命令终端(直接点击终端图标可能会卡),如果终端窗口没有出现的话,从顶部任务栏可以找到,点开就好。

  首先是以下这几条更新命令,每次单独执行:

  sudo apt-get update  
  sudo apt-get upgrade  
  sudo rpi-update 

   然后执行安装opencv的构建相关命令:

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

   然后是以下这几条命令安装图片工具包,每次单独执行(网上有很多一起执行的,但是经常出现问题)

  sudo apt-get install libjpeg8-dev
 
  sudo apt-get install libtiff5-dev
  sudo apt-get install libjasper-dev
  sudo apt-get install libpng12-dev
  ra后是视频I/O包:
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

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

  然后安装优化函数的包:

sudo apt-get install libatlas-base-dev gfortran
  然后执行以下命令下载opencv3.0:

cd /home/pi  
git clone https://github.com/Itseez/opencv.git
cd opencv
git checkout 3.0.0
  然后安装opencv_contrib:

cd /home/pi
git clone https://github.com/Itseez/opencv_contrib.git
cd opencv_contrib
git checkout 3.0.0
  然后安装 Python 开发包:

sudo apt-get install python2.7-dev
  然后安装pip:
wget https://bootstrap.pypa.io/get-pip.py  
sudo python get-pip.py
  然后安装virtualenv virtualenvwrapper:
sudo pip install virtualenv virtualenvwrapper  
sudo rm -rf ~/.cache/pip
  下面这个步骤不仅仅是命令了,打开~/.profile文件,我是使用nano打开的:
sudo nano ~/.profile(与vim比起来更容易上手操作)
  打开profile后,在这个文件最后,添加以下内容后保存退出:
# virtualenv and virtualenvwrapper  
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2.7  
export WORKON_HOME=$HOME/.virtualenvs  
source /usr/local/bin/virtualenvwrapper.sh
  然后执行下面这个命令:
source  ~/.profile
  然后创建虚拟工作环境并进入:
mkvirtualenv LC  
workon LC

  一定要确保进去刚刚创建的虚拟环境了,进入虚拟环境的标志是进去后命令的最前面(绿字前面)都会增加“(LC)”。

  下面在虚拟环境中安装numpy:

pip install numpy  
sudo rm -rf ~/.cache/pip/  
pip install numpy

  一定确保在刚刚的虚拟环境下进行以下操作,如果新开了一个命令行窗口,那么就依次执行 source ~/.profile 命令和 workon LC 命令进入虚拟环境再执行以下操作。

  执行以下命令来设置编译:

cd ~/opencv  
mkdir build  
cd build  
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=~/opencv_contrib/modules \  
 -D BUILD_EXAMPLES=ON ..  (执行cmake这个指令时,复制成一行再点回车执行,分行写仅仅是整齐)
  执行以下命令开始正式编译opencv3.0:
make -j56(这个如果报错就别写-j56了,写-j4,主要是为了强行加快opencv编译速度)
  编译完后进行安装:
sudo make install
  安装后进行相关配置:
sudo ldconfig 
  整个流程严格走下来就应该已经成功了,可以关掉这个命令行窗口了。
  ××××××××××××××××××××××××下面是测试opencv的流程×××××××××××××××××××××××××××××××
  首先进入虚拟环境:
mkvirtualenv LC  
workon LC
  然后创建工作目录:
mkdir ~/opencv-lena  
cd ~/opencv-lena  
nano DisplayImage.cpp(nano是最简单的文本编辑器)
  然后在这个cpp中复制粘贴进去以下代码:
#include <stdio.h>  
#include <opencv2/opencv.hpp>  
using namespace cv;  
int main(int argc, char** argv )  
{  
    if ( argc != 2 )  
    {  
        printf("usage: DisplayImage.out <Image_Path>\n");  
        return -1;  
    }  
    Mat image;  
    image = imread( argv[1], 1 );  
    if ( !image.data )  
    {  
        printf("No image data \n");  
        return -1;  
    }  
    namedWindow("Display Image", WINDOW_AUTOSIZE );  
    imshow("Display Image", image);  
    waitKey(0);  
    return 0;  
}  
  然后保存退出。

  下面创建CMake编译文件:

nano CMakeLists.txt
  创建后在此文件下写入以下内容:
cmake_minimum_required(VERSION 2.8)  
project( DisplayImage )  
find_package( OpenCV REQUIRED )  
add_executable( DisplayImage DisplayImage.cpp )  
target_link_libraries( DisplayImage ${OpenCV_LIBS} ) 

然后保存退出。

下面编译:

cd ~/opencv-lena  
cmake .  
make  

编译完成后,从网上下载lena.jpg,或者随便找张图片,命名为lena.jpg,放在opencv-lena文件夹下。

然后执行程序:

./DisplayImage lena.jpg
如果能显示出lena.jpg图片,则测试成功,Cheers~










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值