之前的Ubuntu14.04 64位系统下安装了ffmpeg,后来由于需要使用安装在python3.4环境下可以使用的python视觉库opencv3.0,下面是安装过程中遇到的一些问题。
首先。
1、对于windows7 64位下安装opencv3.0可以参考本人的这篇文章:Windows7 64位+python3.4环境下安装opencv3.0的方法
2、对于Ubuntu 14.04 64位环境下安装opencv3.0可以参考这篇文章:Ubuntu14.04 64位+Python3.4环境下安装opencv3.0的方法。
这里之所以再次提出为什么要在Ubuntu环境下安装opencv3.0呢?似乎看上去与“2”重复了啊,其实不是,由于各种实际项目开发问题,往往我们在安装opencv3.0的时候,环境已经不是如“2”中所说的纯净环境了,比如已经安装了ffmpeg,这时候会报如下错误:
[ 38%] Building CXX objectmodules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_ffmpeg.cpp.o
Linking CXX shared library../../lib/libopencv_videoio.so
/usr/bin/ld: cannot find -lavcodec
/usr/bin/ld:/usr/local/lib/libavutil.a(log.o): relocation R_X86_64_32 against`.rodata.str1.1' can not be used when making a shared object; recompile with-fPIC
/usr/local/lib/libavutil.a: error addingsymbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: ***[lib/libopencv_videoio.so.3.0.0] Error 1
make[1]: ***[modules/videoio/CMakeFiles/opencv_videoio.dir/all] Error 2
make: *** [all] Error 2
因此,我们的目的就是如何在环境中已经安装ffmpeg的基础上能够成功安装opencv3.0。
我的解决过程如下:
步骤1:由于我的环境中ffmpeg是通过下载源码后自己编译生成,因此先进入到ffmpeg的目录,然后执行如下命令来卸载ffmpeg
sudo make uninstall
步骤2:执行如下脚本
- #!/bin/bash
- sudo apt-get update
- sudo apt-get install python3-setuptools python3-dev -y
- sudo easy_install3 pip
- pip3 install numpy
- sudo apt-get install build-essential -y
- sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev -y
- cd ~
- wget https://github.com/Itseez/opencv/archive/3.0.0.zip
- #注意这里不是 cd 3.0.0 , 而是 cd opencv-3.0.0
- unzip 3.0.0.zip && cd opencv-3.0.0
- mkdir build && cd build