配了一天的OpenCV环境。。。终于能编译运行程序了。。。。累S了。。。

我的系统是Ubuntu 12.04LTS ,下载的OpenCV版本是目前最新的OpenCV 2.4.2

1、准备好源码,可以直接下载,也可以svn弄下来

要准备的东东就是上网下载个Linux版的OpenCV啦,zip格式的。解压到一个地方,我放到机子的地方是/home/star/apps/里面。

如今的目录状态是:/home/star(这是我的用户名啊,和你不一样)/apps(这是我习惯放程序的地方,神码pdf阅读器就是放这的)/OpenCV/(这里就好多OpenCV的文件,下面要在里面cmake的)

2、下载OpenCV所需要的依赖文件

sudo -sH 变成超人

然后狂apt-get install。。。。

具体install什么,就看下面的链接啦,如果是新手的话,建议全部都install啊。。不然就会有最低下的错误,而且弄了好久都不知到怎么回事。

http://opencv.willowgarage.com/wiki/InstallGuide%20%3A%20Debian

3、编译OpenCV

回到步骤1的那个OpenCV目录,新建一个叫release的文件夹,然后在里面cmake,具体也可参考上面的链接

cd ~/opencv # the directory containing INSTALL, CMakeLists.txt etc.
    mkdir release
    cd release
    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON -D BUILD_EXAMPLES=ON ..



看到上面的cmake命令没有!!!搞定的话第一小步就完成了

然后就第二小步: make

这一步非常久啊。。。很久很久很久。。。。。。

然后就很轻松的: make install

4、小配置

这一步关乎你的程序能不能找到那些include,和lib。

大家可以参考这篇文章~~很后才找到的。。。为什么没有早点发现呢。。。走了好多冤枉路啊= =

http://www.samontab.com/web/2010/04/installing-opencv-2-1-in-ubuntu/

下面的是从这个链接copy的。。。人家图文并茂,都懒得翻译了。。怕翻译错了。。。

Now you have to configure the library. First, open the opencv.conf file with the following code:


1

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


Add the following line at the end of the file(it may be an empty file, that is ok) and then save it:


1

/usr/local/lib


linux 怎么使用opencv动态库 linux 配置opencv_html

Run the following code to configure the library:


1

sudo ldconfig


Now you have to open another file:


1

sudo gedit /etc/bash.bashrc


Add these two lines at the end of the file and save it:


1

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



2

export PKG_CONFIG_PATH


linux 怎么使用opencv动态库 linux 配置opencv_html_02


Finally, open a new console, restart the computer or logout and then login again. OpenCV will not work correctly until you do this.



5、写程序!!!

在自己的工作目录里面,新建DisplayImage.cpp

然后从这个地方,copy一下源代码

http://docs.opencv.org/doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.html

然后就编译了,编译的方法有三种:

1)直接gcc

2)用cmake建makefile然后make一下

3)IDE法,传说有个万能IDE叫eclipse。。。。

第一种,

g++ `pkg-config --cflags opencv` -o hello hello.cpp `pkg-config --libs opencv`

http://stackoverflow.com/questions/11532963/cant-compile-opencv-in-linux

给个链接出来,是要告诉你,libs要放在后面啊。。不然会出错滴~~

第二种,

建一个CMakeLists.txt的东西,输入下面的东西

project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )


然后。。。还是看这篇文章。。。 http://docs.opencv.org/doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.html


cmake之后,就有个可执行文件,然后就能显示图片啦~~~(怎么又是Lena。。。。)

我遇到的问题:

1、没有编译错误,但运行程序的时候出现下面这个错误

OpenCV ERROR: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support)

意思是,你木有某些东西的支持,建议你安装什么libgtk2.0(这个忘了是什么),和pkg-config。

然后我就安装了libgtk神马的啊。然后运行了还不行。(请耐心看下去,最下面解决了~~)

有个GG说看这篇文章可以搞定http://mathiasirwans.blogspot.com/2007/07/my-experience-with-ubuntu-610-opencv-10.html

但是我看了还搞不定。。。

后来深思了出错提示,在安装了上面所说缺少的东西之后,重新cmake+make+make install后,终于搞定了~~~(因为make的过程很痛苦,所以我之前一直回避make。。这次证实我真错了。。。)

2、对视频文件的读写都有问题。应该是ffmepg没设置好