关于Ubuntu16.04安装opencv2.4.13及编译运行opencv程序的相关问题

因为学习的一些原因,开始接触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/pkgconfig

export PKG_CONFIG_PATH

保存退出

sudo source /etc/bash.bashrc  #使配置生效
(该步骤可能会报错找不到命令,原因是source为root命令

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

即可看到图片显示,安装完成。


你可能感兴趣的:(opencv学习)