Ubuntu 14.04下OpenCV 3.0+Python 2.7安装测试
本文记录了Ubuntu 14.04下使用源码手动安装OpenCV 3.0的过程。此外记录了在Python中安装及载入OpenCV的方法。
1、安装OpenCV所需的库(编译器、必须库、可选库)
- GCC 4.4.x or later
- CMake 2.6 or higher
- Git
- GTK+2.x or higher, including headers (libgtk2.0-dev)
- pkg-config
- Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)
- ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev
- [optional] libtbb2 libtbb-dev
- [optional] libdc1394 2.x
- [optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
[compiler] sudo apt-get install build-essential
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
2、从官网下载最新opencv源码(2.4以上)http://sourceforge.net/projects/opencvlibrary/
或者github
3、编译opencv
将opencv放至任意目录,解压
unzip opencv-3.0.0-rc1.zip
创建编译目录,编译
cd ~/opencv-3.0.0-rc1
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make
sudo make install
4、测试opencv
1) 创建工作目录
mkdir ~/opencv-lena
cd ~/opencv-lena
gedit DisplayImage.cpp
2) 编辑如下代码
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
if ( argc != 2 )
{
printf("usage: DisplayImage.out <Image_Path>\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;
}
3) 创建CMake编译文件
gedit CMakeLists.txt
写入如下内容
cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
4) 编译
cd ~/opencv-lena
cmake .
make
5) 执行
此时opencv-lena文件夹中已经产生了可执行文件DisplayImage,下载lena.jpg放在opencv-lena下,运行
./DisplayImage lena.jpg
6) 结果
5、安装python-opencv
可直接使用apt安装
sudo apt-get install python-opencv
sudo apt-get install python-numpy
测试
打开python,import cv模块成功即可。
import cv
版权声明:本文为博主原创文章,未经博主允许不得转载。
配了一天的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 |
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 |
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没设置好
参考这篇文章:http://www.360doc.com/content/11/0726/10/1217721_135894185.shtml