OpenCV for Linux

很早以前就用过OpenCV for Linux的版本,记得以前编译安装的时候经常碰到奇奇怪怪的问题。最近上OpenCV.org发现版本号已经升到3.0alpha了,重新下载下来编译安装了一次。

解开zip包后,有CMakeLists.txt,也就是说只要你安装了cmake,在解压出来的根目录执行cmake .就会自动生成Makefile,然后make && make install 就可以完成安装了。但是在一台全新的Linux上面,大部分发行版都还要安装一点依赖,即libgtk2.0-dev and pkg-config。假如没有装这两个,会造成什么结果呢?

造成的结果是,OpenCV中和gui有关的函数执行的时候都会出现错误,比如:

OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow, file /home/jinwei/opencv-2.4.9/modules/highgui/src/window.cpp, line 483
terminate called after throwing an instance of 'cv::Exception'
  what():  /home/jinwei/opencv-2.4.9/modules/highgui/src/window.cpp:483: error: (-2) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvNamedWindow

所以呢,为了解决以上可能发生的问题,一个比较保险的安装方法应该是这样的。

  • 首先, 将下载下来的zip包解压。
  • 在Ubuntu系的机器上,sudo apt-get install libgtk2.0-dev pkg-config cmake。RHEL或者其他发行版用各自的包管理器安装相应的依赖。
  • 进入到解压出来的根目录,执行cmake .
  • sudo make
  • sudo make install
  • Done!

一个最简易的OpenCV项目的CMakeLists.txt

cmake_minimum_required(VERSION 2.8)
project( ProjectName )
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )
add_executable( ProjectName main.cpp )
target_link_libraries( ProjectName ${OpenCV_LIBS} )

当然啦,这样只适合单文件的项目。以此类推啦。

没有更多推荐了,返回首页