zz 详解linux下安装opencv2.4.1(eclipse)
2014-06-06 22:10
423 查看
【原文:http://blog.sina.com.cn/s/blog_60f0414701016lse.html】
To install and configure OpenCV 2.4.1, complete the following steps. The commands shown in each step can be copy and pasted directly into a Linux command line.
Remove any installed versions of ffmpeg and x264.
Get all the dependencies for x264 and ffmpeg.
Download and install gstreamer.
Download and install gtk.
Download and install libjpeg.
Create a directory to hold source code.
Download and install 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.
The Installation Procedure
To install and configure OpenCV 2.4.1, complete the following steps. The commands shown in each step can be copy and pasted directly into a Linux command line.Remove any installed versions of ffmpeg and x264.
sudo apt-get remove ffmpeg x264 libx264-dev
Get all the dependencies for x264 and ffmpeg.
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
Download and install gstreamer.
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
Download and install gtk.
sudo apt-get install libgtk2.0-0 libgtk2.0-dev
Download and install libjpeg.
sudo apt-get install libjpeg8 libjpeg8-dev
Create a directory to hold source code.
cd ~ mkdir src
Download and install 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[/code]
tar xvf x264-snapshot-20120528-2245-stable.tar.bz2cd x264-snapshot-20120528-2245-stable
Configure and build the x264 libraries../configure --enable-static make sudo make install
IMPORTANT: If you are running a 64-bit version of Ubuntu, you must configure x264 as shown in the following command:./configure --enable-shared --enable-pic
The -shared and -pic options might also be required when you compile for some other architectures, such as ARM. You know you need these options if you get the following error when compiling OpenCV:[ 25%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/bitstrm.cpp.o Linking CXX shared library ../../lib/libopencv_highgui.so /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 and install install ffmpeg.
Download ffmpeg version 0.11.x from http://ffmpeg.org/download.html.cd ~/src wget http://ffmpeg.org/releases/ffmpeg-0.11.tar.bz2 tar xvf ffmpeg-0.11.tar.bz2 cd ffmpeg-0.11
Configure and build ffmpeg../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-x11grabmake sudo make install
IMPORTANT: Just like with x264 in the previous step, you must configure ffmpeg with the -shared option if you are running a 64-bit version of Ubuntu or some other architectures, such as ARM. The -pic option is not necessary for ffmpeg../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
Download and install install a recent version of v4l (video for linux) from http://www.linuxtv.org/downloads/v4l-utils/. For this
guide I used version 0.8.8.cd ~/srcwget http://www.linuxtv.org/downloads/v4l-utils/v4l-utils-0.8.8.tar.bz2[/code]tar xvf v4l-utils-0.8.8.tar.bz2
cd v4l-utils-0.8.8
make sudo make install
Download and install install OpenCV 2.4.1.
Download OpenCV version 2.4.1 from http://sourceforge.net/projects/opencvlibrary/files/cd ~/srcwget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.1/OpenCV-2.4.1.tar.bz2[/code]tar xvf OpenCV-2.4.1.tar.bz2
Create a new build directory and run cmake:cd OpenCV-2.4.1/ mkdir build cd build cmake -D CMAKE_BUILD_TYPE=RELEASE ..
Verify that the output of cmake includes the following text:
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
Configure Linux.
Tell linux where the shared libraries for OpenCV are located by entering the following shell command: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.
Alternatively, you can configure the system wide library search path. Using your favorite editor, add a single line containing the text/usr/local/libto
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: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
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`
建议不要全部照做,容易因为缺软件出错,最好在root下先装好以下软件(来自旧版opencv官网http://opencv.willowgarage.com/wiki/InstallGuide : Debian)
apt-get install build-essential
apt-get install cmake
apt-get install pkg-config
apt-get install libpng12-0 libpng12-dev libpng++-dev libpng3
apt-get install libpnglite-dev libpngwriter0-dev libpngwriter0c2
apt-get install zlib1g-dbg zlib1g zlib1g-dev
apt-get install libjasper-dev libjasper-runtime libjasper1
apt-get install pngtools libtiff4-dev libtiff4 libtiffxx0c2 libtiff-tools
apt-get install libjpeg8 libjpeg8-dev libjpeg8-dbg libjpeg-prog
apt-get install ffmpeg libavcodec-dev libavcodec52 libavformat52 libavformat-dev
apt-get install libgstreamer0.10-0-dbg libgstreamer0.10-0 libgstreamer0.10-dev
apt-get install libxine1-ffmpeg libxine-dev libxine1-bin
apt-get install libunicap2 libunicap2-dev
apt-get install libdc1394-22-dev libdc1394-22 libdc1394-utils
apt-get install swig
apt-get install libv4l-0 libv4l-dev
apt-get install python-numpy
以下可选
If you also want to use OpenCV from Python, add this:
apt-get install libpython2.6 python-dev python2.6-dev # Only if you want to use python
If your system has trouble with building "libjpeg.so", you may need to build it manually, or try this:
apt-get install libjpeg-progs libjpeg-dev
On Ubuntu 10.10 this apt-get was needed to recognize gstream-app and gstreamer-vid development headers
apt-get install libgstreamer-plugins-base0.10-dev
反正我是都装上了,就不容易有错。
另外,用cmake时因为预设的有cuda,可能不需要,如果不熟悉如何更改cmake文件的话就可以安装cmake-gui,之后图形界面操作。
可能的错误:
1. fatal:
Not a git repository (or any of the parent directories): .git
解决方法
git initgit add .git commit -m 'Initial commit'
2. Traceback (most recent call last):File "<string>", line 1, in <module>ImportError: No module named numpy.distutils
或者ImportError: No module named numpy.distutils
原因:没装python-numpy
3. 最无语的ld: cannot find -lcv(以及 -lhighgui, -lcxcore等等)
原因:找不到库函数libcv, libhighgui,libcoxe
我的环境是eclipse,是因为新版opencv的一些新函数所以进行了升级
但是筒子们注意了,现在(2.4.1)函数库的名字都改成libopencv_xx了,所以应该写成opencv_highgui等。
在网上找了链接错误啊之类的原因,折腾了一天,才发现原来已经配置好了,所以下次不要过于依赖软件,先用命令行检查:
g++ `pkg-config opencv --cflags` my_code.cpp -o my_code `pkg-config opencv --libs`
当然自己先写好my_code.cpp,如果生成了可执行文件,说明opencv配置已经成功了。
相关文章推荐
- Linux下: Eclipse安装配置OpenCV2.1,用C++调用OpenCV过程 及 测试实例
- [zz]linux 下python开发环境之二——安装Eclipse+PyDev
- 【环境配置】Linux环境下下载、配置java环境、安装eclipse、建立eclipse快捷方式详解
- Linux ubuntu15.10 下Eclipse(用于C++)的安装详解
- linux安装配置jdk1.5、tomcat5.5、eclipse3.2详解
- Linux下安装Eclipse步骤详解
- Linux下安装Eclipse步骤详解
- linux安装配置jdk1.5、tomcat5.5、eclipse3.2详解
- linux安装配置jdk1.5、tomcat5.5、eclipse3.2详解
- Linux下安装Eclipse步骤详解
- 详解Linux下安装Eclipse和CDT开发C/C++
- Linux下安装Eclipse步骤详解
- Linux下安装Eclipse步骤详解
- Linux下Eclipse安装配置OpenCV2.4.8,用C++调用OpenCV及测试实例
- Ubuntu(Linux)环境下安装Eclipse,配置OpenCV
- Linux系统下安装JDK7详解以及在centos版本下安装eclipse
- 在linux下安装openCV 并将其整合到Eclipse当中
- linux下c++开发环境安装(eclipse+cdt)(zz)
- 在Redhat9 Linux下安装汉化eclipse3.1.2的c/c++开发平台
- Linux下安装Eclipse