参照国外大神博客:Install OpenCV 3.0 and Python 2.7+ on Ubuntu
这里把主要代码直接贴上,具体每一步作用移步大神博客。
Step
1:
sudo apt
-get update
sudo apt
-get upgrade
Step
2:
sudo apt
-get install build
-essential cmake git pkg
-config
Step
3:
sudo apt
-get install libjpeg8
-dev libtiff4
-dev libjasper
-dev libpng12
-dev
Step
4:
sudo apt
-get install libgtk2
.0-dev
Step
5:
sudo apt
-get install libavcodec
-dev libavformat
-dev libswscale
-dev libv4l
-dev
Step
6:
sudo apt
-get install libatlas
-base-dev gfortran
Step
7:
wget https:
sudo python get
-pip.py
Step
9:
sudo apt
-get install python2
.7-dev
pip install numpy
Step
10:
cd ~
git clone https:
cd opencv
git checkout
3.0.0
cd ~
git clone https:
cd opencv_contrib
git checkout
3.0.0
cd ~/opencv
mkdir build
cd build
cmake
-D CMAKE_BUILD_TYPE
=RELEASE
\
-D CMAKE_INSTALL_PREFIX
=/usr/
local \
-D INSTALL_C_EXAMPLES
=OFF
\
-D INSTALL_PYTHON_EXAMPLES
=ON \
-D OPENCV_EXTRA_MODULES_PATH
=~/opencv_contrib/modules
\
-D BUILD_EXAMPLES
=ON ..
make
-j8
sudo make install
sudo ldconfig
python
>>> import cv2
>>> cv2
.__version__
'3.0.0'
报错解决:
错误1:
error: ‘NppiGraphcutState’ has not been declared
…
modules/cudalegacy/CMakeFiles/opencv_cudalegacy
.dir/build
.make:
290: recipe for target ‘modules/cudalegacy/CMakeFiles/opencv_cudalegacy
.dir/src/graphcuts
.cpp.o’ failed
make[
2]: *** [modules/cudalegacy/CMakeFiles/opencv_cudalegacy
.dir/src/graphcuts
.cpp.o] Er
原因: GraphCut 在cuda7.5中弃用,而且在cuda8.0中移除了。
解决办法:修改 ~/opencv/modules/cudalegacy/src/graphcuts.cpp文件
把第45行修改成:
#
if !
defined (HAVE_CUDA) ||
defined (CUDA_DISABLER) || (CUDART_VERSION >=
8000)
即在 #if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) 加上 || (CUDART_VERSION >= 8000)
错误2:
编译和安装一切正常后,进入python命令行,import cv报错 no module named cv2
解决方案:搜索cv2.so文件,将其copy至python目录下dist-packages文件夹下即可解决
(若搜索不到cv2.so文件,那就只好重新编译安装了。==、)
错误3:
ICV:
Downloading ippicv_linux_20141027.tgz...
下载出错
解决方案:
1.找个快的翻墙软件,实测某灯不太行。
2.https://sourceforge.net/projects/opencvlibrary/files/3rdparty/ippicv/该网站可下载。