因为学习的一些原因,开始接触opencv,但是学习之路没有坚持下来,电脑前前后后也出了很多毛病,重装了很多次系统,每次重装都需要重新安装opencv,也碰到了很多问题,这次重新安装记录一下,以备不时之需。
1.安装前准备;
安装GCC:
sudo apt-get install build-essential
安装CMake
sudo apt-get install cmake
安装Git(可选)
sudo apt-get install git
安装GTK开发版
sudo apt-get install libgtk2.0-dev
安装pkg-config
sudo apt-get install pkg-config
安装媒体包:
sudo apt-get install ffmpeg
安装一些依赖关系:
sudo apt-get -qq install libopencv-dev build-essential checkinstall cmake pkg-config yasm libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-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 x264 v4l-utils libgtk2.0-dev libavcodec-dev
libavformat-dev libjpeg.dev libtiff5.dev libswscale-dev libjasper-dev
从网上教程找到的一些依赖关系包,可能版本号不兼容,可以按照报错提示的版本号修改一下,问题不大,注意看报错的信息。
2.下载解压安装包
从opencv官网上下载,直接百度opencv,点击downloads,会有各种系统的,各种版本的,可以下载最新的linux版,网站进去和下载的速度都挺慢的。
下载完成后,进入相应文件夹,例如opencv-2.4.13.zip下载到了Downloads文件夹里
cd Downloads
unzip opencv-2.4.13.zip
ls
即可看到相应解压后的opencv-2.4.13文件夹
3.安装opencv
mkdir release
cd release
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 ..
(此步骤中可能会报错,看报错信息,很有可能是未安装qt,所以直接
sudo apt-get install qt4-dev-tools qt4-designer qt4-doc qt4-qtconfigqt4-demos qt4-qmake libqt4-sql-MySQL qdevelop
安装好后即可继续cmake)
make -j2(时间较长)
sudo make install
4.配置环境
将opencv的库加入到路径,从而让系统可以找到
sudo gedit /etc/ld.so.conf.d/opencv.conf
末尾加入/usr/local/lib,保存退出
sudo ldconfig 使配置生效sudo gedit /etc/bash.bashrc
末尾加入
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfigexport PKG_CONFIG_PATH
保存退出
sudo source /etc/bash.bashrc #使配置生效sudo passwd root(设置root密码,如果之前没有设置过)
输入新密码
su(进入root权限)
输入密码
source /etc/bash.bashrc
exit(退出root)
)
sudo updatedb #更新database
5.编译试运行
进入/home/program目录
vim helloworld.cpp
敲入以下代码,修改其中的Image Path为/home/program,该目录下有hello.jpg
#include
#include
using namespace cv;
int main(int argc, char** argv )
{
if ( argc != 2 )
{
printf("usage: DisplayImage.out \n");
return -1;
}
Mat image;
image = imread( argv[1], 1 );
if ( !image.data )
{
printf("No image data \n");
return -1;
}
namedWindow("Display Image", WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0);
return 0;
}
g++ helloworld.cpp -o helloworld `pkg-config --cflags --libs opencv` (注意ESC下面的`,不是单引号)(注意后面的依赖库)
编译通过后再运行
./helloworld hello.jpg
即可看到图片显示,安装完成。