首先是以下这几条更新命令,每次单独执行:
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
udo apt-get install libpng12-dev
然后后是视频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
然后安装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文件,我是使用vim打开的:
sudo vim ~/.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
一定确保在刚刚的虚拟环境下进行以下操作,如果新开了一个命令行窗口,那么就依次执行 workon LC命令进入虚拟环境再执行以下操作。
下载OpenCV 3.3.1和OpenCV_contrib库:
下载OpenCV 3.3.1:
wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.3.1.zip
解压OpenCV 3.3.1:
unzip opencv.zip
下载OpenCV_contrib库:
wget -Oopencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.3.1.zip
解压OpenCV_contrib库:
unzip opencv_contrib.zip
--------编译和安装OpenCV 3.3.1---------
进入opencv3.3.1目录:
cd opencv-3.3.1/
新建build文件夹:
mkdir build
进入build文件夹:
cd build
配置cmake(这一步直接粘贴所有行到你的terminal即可):
sudo cmake -DCMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-DOPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.1/modules \
-D BUILD_EXAMPLES=ON ..
编译:(由于使用make j4容易报错,故换成make)
sudo make
安装:
sudo make install
把OpenCV生成的动态链接库加入树莓派目录:
sudo ldconfig
整个流程严格走下来就应该已经成功了,可以关掉这个命令行窗口了。
××××××××××××××××××××××××下面是测试opencv的流程×××××××××××××××××××××××××××××××
首先进入虚拟环境:
workon LC
然后创建工作目录:
mkdir ~/opencv-lena
cd ~/opencv-lena
vim test.cpp(不会用vim的同学用其他文本编辑器)
然后在这个cpp中复制粘贴进去以下代码:
1. #include <stdio.h>
2. #include <opencv2/opencv.hpp>
3. using namespace cv;
4. int main(int argc, char** argv )
5. {
6. if ( argc != 2 )
7. {
8. printf("usage: DisplayImage.out <Image_Path>\n");
9. return -1;
10. }
11. Mat image;
12. image = imread( argv[1], 1 );
13. if ( !image.data )
14. {
15. printf("No image data \n");
16. return -1;
17. }
18. namedWindow("Display Image", WINDOW_AUTOSIZE );
19. imshow("Display Image", image);
20. waitKey(0);
21. return 0;
22. }
然后保存退出。
下面创建CMake编译文件:
vim 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