安装opencv2.4.9
首先如果你的运气足够好,你完全可以按照 :
https://my.oschina.net/u/1757926/blog/293976
或者OpenCV中文论坛上的Linux下opencv的安装方法
但是我的运气不好,上述两种方法安装不了,参考这个:链接
我把过程分析如下.
- 由于opencv的cmakelist里依赖一些库,所有要先配置好这些库,我主要是ffmpeg和x264很烦人: 保险起见,先去除你电脑上的这些重新装.
sudo apt-get remove ffmpeg x264 libx264-dev
- 安装其他依赖库.
sudo apt-get update
sudo apt-get install build-essential checkinstall Git
cmake libfaac-dev libjack-jackd2-dev libmp3lame-dev
libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev
libva-dev libvdpau-dev libvorbis-dev libx11-dev libxfixes-dev
libxvidcore-dev texi2html
yasm zlib1g-dev - 安装gstreamer,主要是opencv里头的相机模块用到
sudo apt-get install libgstreamer0.10-0 libgstreamer0.10-dev
gstreamer0.10-tools gstreamer0.10-plugins-base
libgstreamer-plugins-base0.10-dev gstreamer0.10-plugins-good
gstreamer0.10-plugins-ugly gstreamer0.10-plugins-bad
gstreamer0.10-ffmpeg - 安装,接着安装
sudo apt-get install libgtk2.0-0 libgtk2.0-dev
sudo apt-get install libjpeg8 libjpeg8-dev
- 安装 install x264
- Download a recent stable snapshot of x264 from ftp://ftp.videolan.org/pub/videolan/x264/snapshots/. The exact
version does not seem to matter. To write this guide, I used version
x264-snapshot-20120528-2245-stable.tar.bz2, but I have used previous
versions too.cd ~/src
wget ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20120528-2245-stable.tar.bz2
tar xvf x264-snapshot-20120528-2245-stable.tar.bz2
cd x264-snapshot-20120528-2245-stable
./configure
--enable-shared --enable-pic
make
sudo make installPS:由于我的电脑是64,所以要加上
--enable-shared --enable-pic
/usr/bin/ld:
/usr/local/lib/libavcodec.a(avpacket.o): relocation R_X86_64_32S
against `av_destruct_packet' can not be used when making a shared
object;
recompile with -fPIC
/usr/local/lib/libavcodec.a: could not read symbols: Bad value
- Download a recent stable snapshot of x264 from ftp://ftp.videolan.org/pub/videolan/x264/snapshots/. The exact
- 安装ffmpeg
- Download ffmpeg version 1.2 from http://ffmpeg.org/download.html.PS:装ffmpeg-0.11.1编译不通过,报错:
- /usr/local/lib/libswscale.a(swscale_unscaled.o):
relocation R_X86_64_32S against `av_pix_fmt_descriptors@@LIBAVUTIL_52'
can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libswscale.a: error adding symbols: 错误的值
collect2: error: ld returned 1 exit status
make[2]: *** [lib/libopencv_highgui.so.2.4.9] 错误 1
make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] 错误 2
make: *** [all] 错误 2猜可能是opencv249依赖的ffmpeg版本不对照
cd ~/src
wget http://ffmpeg.org/releases/ffmpeg-1.2.tar.bz2
tar xvf ffmpeg-1.2.tar.bz2
cd ffmpeg-1.2 ./configure --enable-gpl --enable-libfaac
--enable-libmp3lame --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-libtheora --enable-libvorbis
--enable-libx264 --enable-libxvid --enable-nonfree --enable-postproc
--enable-version3 --enable-x11grab
--enable-shared --enable-picmake
sudo make install
- 安装v4l (video for linux) from http://www.linuxtv.org/downloads/v4l-utils/.
报错:dvb-v5.h:69:9: error: ‘NULL’ undeclared here ........
原因是v4l的版本不对,于是我装了v4l 1.0.0
wget http://www.linuxtv.org/downloads/v4l-utils/v4l-utils-1.0.0.tar.bz2
tar xvf v4l-utils-1.0.0.tar.bz2
cd v4l-utils1.0.0
make
sudo make install- 安装OpenCV 2.4.9.
- Download OpenCV version 2.4.2 from http://sourceforge.net/projects/opencvlibrary/files/
cd ~/src
wget http://downloads.sourceforge.Net/project/opencvlibrary/opencv-unix/2.4.9/OpenCV-2.4.9.tar.bz2
tar xvf OpenCV-2.4.9.tar.bz2
- Create a new build directory and run cmake:
cd OpenCV-2.4.9/
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE .. - 验证指定的输出包括以下内容:
- found gstreamer-base-0.10
- GTK+ 2.x: YES
- FFMPEG: YES
- GStreamer: YES
- V4L/V4L2: Using libv4l
- Build and install OpenCV.
make
sudo make install
- Download OpenCV version 2.4.2 from http://sourceforge.net/projects/opencvlibrary/files/
- Configure 配置 Linux.
- Tell linux where the shared libraries for OpenCV are located by entering the following shell command:[告诉Linux的共享库OpenCV是通过输入下面的shell命令,也就是其库文件存放的位置]:
export LD_LIBRARY_PATH=/usr/local/lib
Add the command to your .bashrc file so that you don’t have to enter every time your start a new terminal.该命令添加到你的.bashrc文件,这样你就不需要进入你的每一次开始一个新的终端。
Alternatively, you can configure the system wide library search path.
Using your favorite editor, add a single line containing the text
/usr/local/lib
to the end of a file named/etc/ld.so.conf.d/opencv.conf
.
In the standard Ubuntu install, the opencv.conf file does not exist;
you need to create it. Using vi, for example, enter the following
commands:[或者,您可以配置系统范围的库搜索路径。用你喜欢的编辑器,添加一行文本/usr/local/lib...to the end of a file named/ etc / ld.so.conf.d/opencv.conf。在标准的Ubuntu的安装,opencv.conf文件不存在;你需要创建它。例如,使用VI,输入以下命令:]sudo vi /etc/ld.so.conf.d/opencv.conf
G
o
/usr/local/lib
<Esc>
:wq!After editing the opencv.conf file, enter the following command:
sudo ldconfig /etc/ld.so.conf
- Using your favorite editor, add the following two lines to the end of /etc/bash.bashrc:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
- Tell linux where the shared libraries for OpenCV are located by entering the following shell command:[告诉Linux的共享库OpenCV是通过输入下面的shell命令,也就是其库文件存放的位置]:
c.After completing the previous steps, your system should be ready to compile code that uses the OpenCV libraries. The following example shows one way to compile code for OpenCV:
g++ `pkg-config opencv --cflags` my_code.cpp -o my_code `pkg-config opencv --libs`
就这样吧.....最好按照步骤来,先装好依赖库再搞别的...
最新文章
- YunCart电商网站支付宝接口出现500错误
- 【JS基础】算法
- shell简单使用
- ubuntu下Tomcat7的安装和配置
- mysql查看表结构命令
- 解决mysql不能远程登录的问题
- 机器学习系统设计(Building Machine Learning Systems with Python)- Willi Richert Luis Pedro Coelho
- n皇后问题与2n皇后问题
- postgresql和oracle数据库对比
- I2C(四)linux3.4(写代码)
- springboot中spring.profiles.active来引入多个properties文件 &; Springboot获取容器中对象
- AltiumDesigner印制导线的走向及形状
- octomap 安装使用
- 关于Linux(时间网路同步)
- Java队列——线程池创建的例子
- MySQL数据库----安装
- 删除iptables nat 规则
- 查看源代码HTML
- PTCSolution 关注
- angular.js简单入门。