ubuntu12.04+Opencv2.3.1

若没有安装cmake,请先安装

安装过程
要在ubuntu中正确的安装及配置OpenCV 2.3.1, 请确保完成一下步骤.

执行以下指令,删除ffmpeg and x264 的任何旧版本,如果以前没有安装也没有问题。
sudo apt-get remove ffmpeg x264 libx264-dev

下载安装x264和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

下载并安装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

Yasm

Yasm is an assembler used by x264 and FFmpeg.

Ubuntu 13.04 and Mint 15 users can alternatively install the yasm package from the repository instead of compiling.

cd ~/ffmpeg_sources
wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
tar xzvf yasm-1.2.0.tar.gz
cd yasm-1.2.0
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install
make distclean
. ~/.profile

下载并安装x264:
下载一个最近的stable snapshot of x264版本,下载地址为:ftp://ftp.videolan.org/pub/videolan/x264/snapshots/. 下载的版本并没有严格的要求。
执行以下指令配置并build x264 :
tar xvf x264-snapshot-20120214-2422-stable.tar.bz2

cd x264-snapshot-20120214-2422-stable/

./configure --enable-static
make
sudo make install

下载并安装ffmpeg.
下载ffmpeg 0.8.x ,地址:http://ffmpeg.org/download.html. 注意: OpenCV2.3.1以前的版本需要ffmpeg 0.7.x.
执行以下指令配置并build ffmpeg :
tar xvf ffmpeg-0.8.10.tar.bz2

cd ffmpeg-0.8.10/

./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
make
sudo make install

下载并安装gtk :
sudo apt-get install libgtk2.0-0 libgtk2.0-dev

下载并安装libjpeg :
sudo apt-get install libjpeg62 libjpeg62-dev

下载并安装v4l (video for linux).
下载v4l-utils-0.8.5.tar.bz2 from http://www.linuxtv.org/downloads/v4l-utils/
Build v4l :
make
sudo make install


下载并安装OpenCV.
下载OpenCV 2.3.1 from http://sourceforge.net/projects/opencvlibrary/files/
执行以下命令:
tar xvf OpenCV-2.3.1.tar.bz2
cd OpenCV-2.3.1/
mkdir build
cd build
cmake ..

make
sudo make install
 

配置Linux.openCV参数设置

在/etc/ld.so.conf.d/opencv.conf文件中加入一行:/usr/local/lib ,

可能会没有opencv.conf这个文件,那我们就自己创建一个:

sudo gedit/etc/ld.so.conf.d/opencv.conf。

上面那一步昨晚之后记得使用下面这条命令(这也是原文没有写的):

sudo ldconfig
在 /home/.bashrc中加入:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

重启.
在完成了上面的步骤之后,应该就能编译OpenCV应用程序了。

cd OpenCV-2.3.1/samples/c

执行下面这个:

sh build_all.sh

然后就可以运行sample了。

或使用以下命令编译自己的程序:
(原文)g++ `pkg-config opencv --cflags` `pkg-config opencv --libs` my_code.cpp -o my_code

(我使用的)g++ drawing.c `pkg-config opencv --libs --cflags opencv` -o drawing


********************************************************************##########################################

#************************************************************************#######################################


1,安装libgtk2.0-dev and pkg-config

   终端运行 sudo apt-get install libgtk2.0-dev pkg-config

 

2.下载OpenCV-2.3.1(到openCV官网下载即可)

cd 命令进入相应的下载目录。依次运行下列命令

$ tar xf OpenCV-2.3.1.tar.bz2
$ cd OpenCV-2.3.1

 

3.终端运行  

$ mkdir build 
$ cd build
$ cmake ..   此处为cmake空格后面两个点。

 

4 依次运行  

$ make

$ sudo make install

 此时编译成功。

 

5 配置必要的库。

运行 

$ sudo gedit /etc/ld.so.conf.d/opencv.conf

添加 /usr/local/lib 到文件中

 

6  运行

sudo ldconfig

 

7 运行 sudo gedit /etc/bash.bashrc添加下面两行到文件的末尾并保存。

 PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
 export PKG_CONFIG_PATH

 

8 运行samples

$ cd ~
$ mkdir openCV_samples
$ cp OpenCV-2.3.1/samples/c/* openCV_samples
$ cd openCV_samples/
$ chmod +x build_all.sh
$ ./build_all.sh


$./one_way_sample . ./one_way_train_0000.jpg ./one_way_train_0001.jpg

 

运行结果

ubuntu12.04+Opencv2.3.1_第1张图片

 

8 编写程序(图像二值化)

 

 

Cpp代码   收藏代码
  1.  1 #include "cv.h"  
  2.  2 #include "cxcore.h"  
  3.  3 #include "highgui.h"  
  4.  4 #include <iostream>  
  5.  5   
  6.  6 using namespace std;  
  7.  7   
  8.  8 int main (int argc, char *argv[])  
  9.  9 {  
  10. 10     IplImage* img = cvLoadImage(argv[1], -1);  
  11. 11     IplImage* biimg = cvCreateImage(cvGetSize(img), img->depth, img->nChannels);  
  12. 12     CvScalar s;  
  13. 13     int sum = 0;  
  14. 14     for (int i = 0;i < img->height;i++)  
  15. 15     {  
  16. 16         for (int j = 0;j < img->width;j++)  
  17. 17         {  
  18. 18             s =  cvGet2D(img, i, j);  
  19. 19             cout << s.val[0] << " " << s.val[1] << " " << s.val[2] <<endl;  
  20. 20             sum = (s.val[0] + s.val[1] + s.val[2]) / 3;  
  21. 21             if (sum > 128)  
  22. 22                 s.val[0] = s.val[1] = s.val[2] = 255;  
  23. 23             else  
  24. 24                 s.val[0] = s.val[1] = s.val[2] = 0;  
  25. 25   
  26. 26             cvSet2D(img, i, j, s);  
  27. 27         }  
  28. 28     }  
  29. 29     cvCopy(img, biimg);  
  30. 30     cvSaveImage("combibi.JPG", biimg);  
  31. 31     cvNamedWindow("imagebinary");  
  32. 32     cvShowImage("imagebinary", biimg);  
  33. 33     cvWaitKey(0);  
  34. 34     cvDestroyWindow("imagebinary");  
  35. 35     cvReleaseImage(&img);  
  36. 36     cvReleaseImage(&biimg);  
  37. 37     return 0;  
  38. 38 }  

 

 

编译

$ gcc erzhihua.cpp -o erzhi `pkg-config --cflags --libs opencv`

(疑问:编译时运行 gcc `pkg-config --cflags --libs opencv` erzhihua.cpp -o erzhi就会报错,还不知道为什么??

运行

$ ./erzhi lena.jpg

 

运行结果:

 

ubuntu12.04+Opencv2.3.1_第2张图片

  • 查看图片附件


你可能感兴趣的:(ubuntu12.04+Opencv2.3.1)