opencv-python 安装过程简述

安装时间和安装环境

安装时间

2017.5.8-2017.5.9

安装环境

fedora24系统

安装原因

dnf install opencv*

上述命令可以直接安装opencv-python的,当使用大部分的函数没有什么问题。但是当使用cv2.SIFT()的时候产生了问题,经过详细的看资料(http://www.pyimagesearch.com/2015/07/16/where-did-sift-and-surf-go-in-opencv-3/),我发现好像不得不源码安装。

在源码安装之后,sift特征还是不能使用,再次仔细阅读该网站,发现还有一个opencv_contrib模块需要安装,于是查找资料,之后可以使用sift特征函数,此时的使用方法变为cv2.xfeatures2d.SIFT_create()。

安装步骤

1、预先环境的配置。

参考资料:https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_setup/py_setup_in_fedora/py_setup_in_fedora.html#install-opencv-python-in-fedora

dnf install cmake
dnf install python-devel numpy
dnf install gcc gcc-c++

dnf install gtk2-devel
dnf install libdc1394-devel
dnf install libv4l-devel
dnf install ffmpeg-devel
dnf install gstreamer-plugins-base-devel

dnf install libpng-devel
dnf install libjpeg-turbol-devel
dnf install jasper-devel
dnf install openexr-devel
dnf install libtiff-devel
dnf install libwebp-devel

dnf install tbb-devel

dnf install eigen3-devel

dnf install python-sphinx

dnf install texlive

2、源码的下载及编译

参考资料:

官方参考:

opencv的安装:https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_setup/py_setup_in_fedora/py_setup_in_fedora.html#install-opencv-python-in-fedora

opencv_contrib的安装:https://github.com/opencv/opencv_contrib

私人安装:http://coderlin.coding.me/2016/03/02/Install-OpenCV-3-1-0-in-Ubuntu-14-04-13-10/

源码的网址:https://github.com/opencv/opencv(曾用网址:https://github.com/Itseez/opencv/)

		https://github.com/opencv/opencv__contrib(曾用网址:https://github.com/Itseez/opencv_contrib)

在安装时注意:opencv_contric和opencv的版本一致,但貌似都是从官网下载,好像都是最新版。

git clone 网址

cd /opencv  // /opencv为opencv的文件夹

mkdir build
cd build

//我的编译选项
cmake -D CMAKE_BUILED_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_EIGEN=ON -D BUILD_DOCS=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF ..

//将opencv_contrib编译进去opencv源码
cmake -D OPENCV_EXTRA_MODULES_PATH=/home/glen-z/Downloads/opencv_contrib/modules -DBUILD_opencv_dnn=OFF /home/glen-z/Downloads/opencv
//-DBUILD_opencv_dnn=OFF 加这一段代码时不要将该模块编译进去,是有一个新的问题出现,没有办法排除,只能这样处理
//该问题并未被记录,很遗憾,但是在编译时好像会看到总在编译dnn相关代码出错。

cmake -D ENABLE_PRECOMPILED_HEADERS=OFF ..  //这个解决的问题下面解释

make -j4 //用4个线程跑程序
make install

3、遇到的问题及解决思路

(1)、undefined reference to `jpeg_default_qtables’

参考资料:https://apilevel.wordpress.com/2014/03/23/imagemagick-on-rhel-6-x86_64-troubleshoot-small-deligate-issues-during-installation/

//http://imagemagick.org/download/delegates/  下载jpegsrc.v9a.tar.gz

tar -xzvf jpegsrc.v9a.tar.gz
cd jpeg-9a
./configure
make libdir=/usr/lib64
make libdir=/usr/lib64 install
//我的问题通过该方法得到解决。

(2)、stdlib.h: Nosuch file or directory

参考资料:http://stackoverflow.com/questions/40262928/error-compiling-opencv-fatal-error-stdlib-h-no-such-file-or-directory

cmake -D ENABLE_PRECOMPILED_HEADERS=OFF ..  //我的问题这样解决了,另外-D和Enable之间的空格似乎可有可有无,操											//作两个都没错,我也有点迷糊

(3)、好不容易编译完了,忘了make install

4、学到的知识点

多看Stack Overflow解决问题的速度比较快。

posted @ 2017-05-09 16:14  Glen-Z  阅读(2805)  评论(0编辑  收藏  举报