1.3. 在Fedora中安装OpenCV Python¶
1.3.1. 目标¶
1.3.2. 介绍¶
OpenCV Python可以通过两种方式安装在Fedora中:1)从Fedora存储库中提供的预构建二进制文件安装;2)从源代码编译。在本节中,我们将看到两者。
另一件重要的事情是需要额外的库。OpenCV Python只需要 Numpy (除了其他依赖项,我们稍后会看到)。但在本教程中,我们还使用 Matplotlib 为了一些简单而漂亮的绘图目的(与OpenCV相比,我感觉好多了)。Matplotlib是可选的,但强烈建议使用。同样,我们也将看到 IPython ,一个交互式Python终端,这也是强烈推荐的。
1.3.3. 从预构建的二进制文件安装OpenCV Python¶
以根用户身份在终端中使用以下命令安装所有软件包。
$ yum install numpy opencv*
打开Python IDLE(或IPython)并在Python终端中键入以下代码。
import cv2
print (cv2.__version__)
如果结果打印出来没有任何错误,恭喜!!!您已成功安装OpenCV Python。
这很容易。但这有个问题。Yum存储库不能始终包含最新版本的OpenCV。例如,在编写本教程时,yum repository包含2.4.5,而最新的OpenCV版本是2.4.6。关于Python API,最新版本总是包含更好的支持。此外,根据驱动程序、ffmpeg、gstreamer包的存在等,可能存在摄像机支持、视频回放等方面的问题。
所以我的个人偏好是下一种方法,即从源代码编译。同时,在某个时候,如果你想为OpenCV做贡献,你将需要这个。
1.3.4. 从源代码安装OpenCV¶
从源代码编译一开始可能看起来有点复杂,但一旦成功,就没有什么复杂的了。
首先,我们将安装一些依赖项。有些是必修课,有些是选修课。可选依赖项,如果不需要,可以离开。
强制依赖¶
我们需要 CMake 要配置安装, GCC 对于编译, Python-devel 和 Numpy 用于创建Python扩展等。
yum install cmake
yum install python-devel numpy
yum install gcc gcc-c++
接下来我们需要 GTK 支持图形用户界面功能、摄像头支持(libdc1394、libv4l)、媒体支持(ffmpeg、gstreamer)等。
yum install gtk2-devel
yum install libdc1394-devel
yum install libv4l-devel
yum install ffmpeg-devel
yum install gstreamer-plugins-base-devel
可选依赖项¶
以上依赖项足以在您的fedora计算机中安装OpenCV。但是根据您的需求,您可能需要一些额外的依赖项。下面给出了此类可选依赖项的列表。你可以离开它,也可以安装它,你的电话:)
OpenCV附带了支持PNG、JPEG、JPEG2000、TIFF、WebP等图像格式的文件,但可能有点旧。如果要获取最新的库,可以安装这些格式的开发文件。
yum install libpng-devel
yum install libjpeg-turbo-devel
yum install jasper-devel
yum install openexr-devel
yum install libtiff-devel
yum install libwebp-devel
几个OpenCV函数与 英特尔的线程构建块 (待定)。但是如果你想启用它,你需要先安装TBB。(在使用CMake配置安装时,不要忘记通过 -D WITH_TBB=ON
. 更多细节如下。)
yum install tbb-devel
OpenCV使用另一个库 本征 用于优化数学运算。所以如果你的系统中安装了Eigen,你可以利用它。(在使用CMake配置安装时,不要忘记通过 -D WITH_EIGEN=ON
. 更多细节如下。)
yum install eigen3-devel
如果你想建造 文档 ( 是的,你可以在你的系统中创建完整的官方文档的离线版本,用HTML和完整的搜索工具,这样你就不必总是访问互联网,如果有任何问题,它是相当快的!!! ),您需要安装 狮身人面像 (文档生成工具)和 平皿 (如果要创建它的PDF版本)。(在使用CMake配置安装时,不要忘记通过 -D BUILD_DOCS=ON
. 更多细节如下。)
yum install python-sphinx
yum install texlive
下载OpenCV¶
接下来我们要下载OpenCV。您可以从 sourceforge site . 然后提取文件夹。
或者您可以从OpenCV的github repo下载最新的源代码。(如果您想为OpenCV做贡献,请选择此选项。它总是让你的OpenCV保持最新)。为此,您需要安装 Git 第一。
yum install git
git clone https://github.com/Itseez/opencv.git
它将创建一个文件夹 OpenCV
在主目录(或指定的目录)中。克隆可能需要一些时间,具体取决于您的internet连接。
现在打开一个终端窗口并导航到下载的OpenCV文件夹。新建 build
文件夹并导航到它。
mkdir build
cd build
配置和安装¶
现在我们已经安装了所有必需的依赖项,让我们安装OpenCV。必须使用CMake配置安装。它指定要安装的模块、安装路径、要使用的附加库、要编译的文档和示例等。下面的命令通常用于配置(从 build
文件夹)。
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
它指定生成类型为“发布模式”,安装路径为 /usr/local
. Observe the -D
before each option and ..
最后。简而言之,这是一种格式:
cmake [-D <flag>] [-D <flag>] ..
可以指定任意多个标志,但每个标志前面都应加上 -D
.
所以在本教程中,我们将安装带有TBB和eign支持的OpenCV。我们还构建了文档,但排除了性能测试和构建示例。我们还禁用与GPU相关的模块(因为我们使用OpenCV Python,所以不需要与GPU相关的模块)。这节省了我们一些时间)。
(以下所有命令都可以在一个cmake语句中完成,但为了更好地理解,这里将其拆分。)
启用TBB和特征支持:
cmake -D WITH_TBB=ON -D WITH_EIGEN=ON ..
启用文档并禁用测试和示例
cmake -D BUILD_DOCS=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF ..
禁用所有与GPU相关的模块。
cmake -D WITH_OPENCL=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_gpuarithm=OFF -D BUILD_opencv_gpubgsegm=OFF -D BUILD_opencv_gpucodec=OFF -D BUILD_opencv_gpufeatures2d=OFF -D BUILD_opencv_gpufilters=OFF -D BUILD_opencv_gpuimgproc=OFF -D BUILD_opencv_gpulegacy=OFF -D BUILD_opencv_gpuoptflow=OFF -D BUILD_opencv_gpustereo=OFF -D BUILD_opencv_gpuwarping=OFF ..
设置安装路径和生成类型
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
每次输入cmake语句时,它都会输出结果配置设置。在您得到的最终设置中,确保填写了以下字段(下面是我得到的配置的一些重要部分)。这些字段也应该在您的系统中正确填写。否则就会出问题。因此,请检查您是否正确执行了上述步骤。
> -- GUI:
> -- GTK+ 2.x: YES (ver 2.24.19)
> -- GThread : YES (ver 2.36.3)
>
> -- Video I/O:
> -- DC1394 2.x: YES (ver 2.2.0)
> -- FFMPEG: YES
> -- codec: YES (ver 54.92.100)
> -- format: YES (ver 54.63.104)
> -- util: YES (ver 52.18.100)
> -- swscale: YES (ver 2.2.100)
> -- gentoo-style: YES
> -- GStreamer:
> -- base: YES (ver 0.10.36)
> -- video: YES (ver 0.10.36)
> -- app: YES (ver 0.10.36)
> -- riff: YES (ver 0.10.36)
> -- pbutils: YES (ver 0.10.36)
>
> -- V4L/V4L2: Using libv4l (ver 1.0.0)
>
> -- Other third-party libraries:
> -- Use Eigen: YES (ver 3.1.4)
> -- Use TBB: YES (ver 4.0 interface 6004)
>
> -- Python:
> -- Interpreter: /usr/bin/python2 (ver 2.7.5)
> -- Libraries: /lib/libpython2.7.so (ver 2.7.5)
> -- numpy: /usr/lib/python2.7/site-packages/numpy/core/include (ver 1.7.1)
> -- packages path: lib/python2.7/site-packages
>
> -- Documentation:
> -- Build Documentation: YES
> -- Sphinx: /usr/bin/sphinx-build (ver 1.1.3)
> -- PdfLaTeX compiler: /usr/bin/pdflatex
> --
> -- Tests and samples:
> -- Tests: NO
> -- Performance tests: NO
> -- C/C++ Examples: NO
还有很多其他的标志和设置。它留给你作进一步的探索。
现在您可以使用 make
命令并使用安装 make install
命令。 make install
应该作为根执行。
make
su
make install
安装完毕。所有文件都安装在 /usr/local/
文件夹。但是要使用它,您的Python应该能够找到OpenCV模块。你有两个选择。
将模块移动到Python路径中的任何文件夹 :可以通过输入
import sys;print sys.path
在Python终端中。它将打印出许多位置。移动/usr/local/lib/python2.7/site-packages/cv2.so
任何一个文件夹。例如,
su mv /usr/local/lib/python2.7/site-packages/cv2.so /usr/lib/python2.7/site-packages
但每次安装OpenCV时都必须这样做。
Add ``/usr/local/lib/python2.7/site-packages`` to the PYTHON_PATH :只做一次。刚刚打开
~/.bashrc
在上面加上下面的一行,然后注销并返回。
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages
这样OpenCV的安装就完成了。打开终端并尝试 import cv2
.
要生成文档,只需输入以下命令:
make docs
make html_docs
然后打开 opencv/build/doc/_html/index.html
并在浏览器中为其添加书签。
1.3.5. 额外资源¶
1.3.6. 练习¶
在您的Fedora机器中从源代码处编译OpenCV。