首页 > 其他 > 详细

Centos6.5 下安装opencv

时间:2014-03-10 22:50:06      阅读:782      评论:0      收藏:0      [点我收藏+]

为了熟悉一下linux下C++,准备通过将以前所写项目由windows移植到linux下,首先配置环境,这个还挺繁琐,出错挺多的,现在记录一下。

系统:Centos 6.5

最后版本 OpenCV: 2.4.3

1、安装依赖包(很重要)

yum install cmake gcc gcc-c++ gtk+-devel gimp-devel gimp-devel-tools gimp-help-browser zlib-devel libtiff-devel libjpeg-devel libpng-devel gstreamer-devel libavc1394-devel libraw1394-devel libdc1394-devel jasper-devel jasper-utils swig python libtool nasm

如果不安装上述依赖包,到最后调用opencv时会出错,如下:

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,...................

此时只能将编译好的opencv删除再重新编译,即将/usr/local/lib和/usr/local/include/中的有关的删除

mv /usr/local/lib/libopencv*

mv -fr /usr/local/include/opencv 

mv -fr /usr/local/include/opencv2 

然后再重新编译opencv.

2、安装/更新CMake

为什么要安装或者更新cmake呢,下面说明所处问题:

(1)下载

   在OpenCV官网http://sourceforge.net/projects/opencvlibrary/files/ 下载所需版本

   拷贝到/usr/local/路径之下

(2)tar -xvf OpenCV-2.4.8.tar.bz2 解压

(3)cd  OpenCV-2.4.8  进入目录

(4)yum install cmake      直接从网上安装cmake

(5) cmake CMakeLists.txt  

如果你此步没有出错opencv就已经安装了;

此步出错

需要安装新版的cmake

下载最新版本cmake文件进行编译

http://www.cmake.org/cmake/resources/software.html

将其复制到/usr/local/路径下

解压:

r -zxv -f cmake-2.8.10.2.tar.gz       // 解压压缩包

rm -rf cmake-2.8.10.2.tar.gz   // 删除压缩包

cd cmake-2.8.10.2

./configure

make

make install

// 修改文件夹名

mv cmake-2.8.10.2 cmake  

修改环境变量:

vim /etc/profile

在尾部添加:

PATH=/usr/local/cmake/bin:$PATH
export PATH
这里注意,不要讲冒号写成分号,要不然各种命令行都不能用,重启后进入不了系统等。

//使修改生效

source /etc/profile  

//查看PATH值有没有添加刚刚的路径  

echo $PATH   

//检验版本

cmake --version

安装成功了cmake再继续安装opencv

3、安装Opencv

继续上一步的cmake CMakeLists.txt  

出错:

System is unknown to cmake, create:

opencv 版本不对

重新下载Opencv,这次选择了下载opencv-2.4.3,放于/usr/local/目录下

重复上一步中安装opencv步骤

tar -xvf OpenCV-2.4.3.tar.bz2 解压

cd  OpenCV-2.4.3. 进入目录

yum install cmake      直接从网上安装cmake

cmake CMakeLists.txt  

make 

make install

成功

4、添加路径

如果不添加路径到环境变量当运行测试程序时会出错如下:

./drawing: error while loading shared libraries: libopencv_calib3d.so.2.4: cannot open shared object file: No such file or directory

解决方法:

(1)用ln将需要的so文件链接到/usr/lib或者/lib这两个默认的目录下边

ln -/where/you/install/lib/*.so /usr/lib

sudo ldconfig

(2)修改LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/where/you/install/lib:$LD_LIBRARY_PATH

sudo ldconfig

(3)修改/etc/ld.so.conf  (我采用了此种方法

vim /etc/ld.so.conf

add /where/you/install/lib

sudo ldconfig

输入ldconfig时出错:libstdc++.so.6.0.18-gdb.py不是ELF文件-它起始的魔数错误。

解决方法,这里直接暴力删除了,rm libstdc++.so.6.0.18-gdb.py

再重新ldconfig,没有错

5、测试:

测试代码显示一张图片:

  1 #include "cv.h"
  2 #include "highgui.h"
  3 
  4 int main()
  5 {
  6          IplImage* pImg = NULL;
  7 
  8           if((pImg = cvLoadImage("1.jpg",1)))
  9           {
 10                   cvNamedWindow( "Image", 1 );//创建窗口
 11                   cvShowImage( "Image", pImg );//显示图像
 12                   cvWaitKey(0); //等待按键
 13                   cvDestroyWindow( "Image");//销毁窗口
 14                   cvReleaseImage( &pImg ); //释放图像
 15                   return 0;
 16           }
 17            return -1;
 18 }

可以用下面的命令编译

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

注意上面是~键的符号而不是引号要不然会出错:--libs opencv:没有那个文件或目录   fatal error: cv.h:没有那个文件或目录

此处我采用写makefile方式:
编写makefile 如下:

bubuko.com,布布扣

make

./drawing

显示成功

如果出现第一步里面提到的错误,那就装完依赖库重新来编译一遍opencv.

Centos6.5 下安装opencv,布布扣,bubuko.com

Centos6.5 下安装opencv

原文:http://blog.csdn.net/kuaile123/article/details/20870731

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!