Ubuntu 12.04.2 LTS上安装opencv 2.4.10
一:本机基本配置
显卡:NVIDIA Corporation GT218 [GeForce 210]
Core:4核
Linux版本:Ubuntu 12.04.2 LTS
二:安装步骤
1.移除一些库,否则可能会和后面的要求版本有冲突
sudo apt-get -y remove ffmpeg x264 libx264-dev
2.安装前做一些更新
sudo apt-get install build-essential
Sudo apt-get update
3一些必备的包
sudo apt-get -y install libopencv-dev checkinstall cmake pkg-config yasm libtiff4-dev libjpeg-dev libjasper-dev install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libgtk2.0-dev
4几个重要的库
sudo apt-get -y install x264 v4l-utils ffmpeg
X264是H.264视频编码标准的子集
V4l是一个视频采集有关的库
ffmpeg是一套完整的音视频解决方案
5安装opencv
Wget-OOpenCV-2.4.10.zip http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.10/opencv-2.4.10.zip/download
unzip OpenCV-2.4.10.zip
cd opencv-2.4.10
mkdir build
cd build
这里可以提前在官网上下载opencv-2.4.10.zip,并放在合适的目录下,可以缩短很多时间。
6.cmake编译工具
最新版本的opencv ,linux 版本必须使用cmake
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
几个编译选项的解释:
CMAKE_BUILD_TYPE 默认是NONE, RELEASE可以进行执行速度最佳化
CMAKE_INSTALL_PREFIX用于定义安装路径
7.make编译与安装
make -j4
sudo make install
make的参数-j4,由于本机为四核,所以选择此参数,多核编译,可以达到最优化,如果八核可以选择-j8,请根据机器情况变更。
8.Linux环境配置
sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
三:一个测试程序
#include<opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main()
{const char* imagename = "/home/DecentImpDedup/test.jpg";
//从文件中读入图像
Mat img = imread(imagename);
//如果读入图像失败
if(img.empty())
{ return -1;
}
//显示图像
imshow("image", img);
//此函数等待按键,按键盘任意键就返回
waitKey();
return 0;
}
请根据实际情况,更改图片路径.
四:安装脚本
为方便安装,我们做了一个脚本,”build_opecv.sh”,在linux安装目录下运行sh ./build_openc.sh即可完成安装。
#!/bin/bash
arch=$(uname -m)
if [ "$arch" == "i686" -o "$arch" == "i386" -o "$arch" == "i486" -o "$arch" == "i586" ]; then
flag=1
else
flag=0
fi
echo "Installing OpenCV 2.4.10"
echo "Removing any pre-installed ffmpeg and x264"
sudo apt-get -y remove ffmpeg x264 libx264-dev
echo "Installing Dependenices"
sudo apt-get -y install libopencv-dev
sudo apt-get -y install build-essential checkinstall cmake pkg-config yasm
sudo apt-get -y install libtiff4-dev libjpeg-dev libjasper-dev
sudo apt-get -y install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev
sudo apt-get -y install python-dev python-numpy
sudo apt-get -y install libtbb-dev
sudo apt-get -y install libqt4-dev libgtk2.0-dev
sudo apt-get -y install libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev
sudo apt-get -y install x264 v4l-utils ffmpeg
sudo apt-get -y install libgtk2.0-dev
echo "Downloading OpenCV 2.4.10"
wget -O OpenCV-2.4.10.zip http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.10/opencv-2.4.10.zip/download
echo "Installing OpenCV 2.4.10"
unzip OpenCV-2.4.10.zip
cd opencv-2.4.10
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
make -j4
sudo make install
sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
echo "OpenCV 2.4.10 ready to be used"