一、 前言

由于我比较喜欢在Linux系统下编程,所以就决定在CentOS6.7下安装opencv

二、 系统环境搭建

1. 系统: CentOS 6.7 ,64位

2. GCC: gcc version 4.8.5 (GCC) 及以上均可

3. cmake: cmake version 2.8.12.2及以上均可

4. Python: Python 2.6.6及以上均可

请继续进行以下安装:

# yum install python-devel

# yum install libjpeg libjpeg-devel zlib zlib-devel freetype freetype-devel lcms lcms-devel

# yum install python-imaging


5. Numpy :numpy-1.9.0 ,参考文献[1]

# wget http://jaist.dl.sourceforge.net/project/numpy/NumPy/1.9.0/numpy-1.9.0.zip
# unzip numpy-1.9.0.zip
# cd numpy-1.9.0
# python setup.py install
# reboot


我这里使用的是numpy-1.9.2.tar.gz包安装的:

1)numpy介绍

Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,类似的还有intel mkl库、matlab矩阵库等等,在机器学习中会大量使用矩阵以及相关运算。numpy不包含在python内部,所以使用前需要进行库的安装。

2、环境

centos 6.2
python 2.7.11点击下载
numpy1.9.2点击下载

3、python安装

检查下机器原来是否就装有python,直接运行python命令看下当前版本(本机自带python2.6.6版本),如果有不要盲目卸载,因为卸载了可能导致其他应用或者服务无法正常使用,这里采取的做法是直接安装python 2.7版本,不要覆盖之前的版本。(取名python2.7,以后运行python的时候就敲python2.7命令,互不干扰)

tar -zxvf Python-2.7.11.tgz mkdir /usr/local/python27 ./configure --prefix=/usr/local/python27 make && make install ln -s /usr/local/python27/bin/python /usr/bin/python2.7
  • 1
  • 2
  • 3
  • 4
  • 5


运行python2.7命令,出现上图情况说明python2.7已经安装好

4、numpy库安装

tar -zxvf numpy-1.9.2.tar.gz cd numpy-.2 python2.7.11 setup.py install cd /
    4
# python2.7 >>>from numpy import * >>>random.rand(4,5)
    3


进入python交互环境,运行如下命令出现上图说明numpy安装成功
注:安装完numpy记得不要停留在numpy的安装目录,否则加载numpy会提示错误


6. 安装依赖库:

# yum install 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

# yum install gtk*

7. 安装yasm

# wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz

# tar zxvf yasm-1.3.0.tar.gz
# cd yasm-1.3.0
# ./configure
# make && make install

8. 安装ffmpeg,参考文献[3],建议不要指定--prefix,采用默认安装路径即可

# 从ffmpeg官网:https://www.ffmpeg.org/download.html下载源代码

# tar -jxvf ffmpeg-3.2.4.tar.bz2

# ./configure --enable-shared --enable-gpl --enable-swscale

其中--enable-shared表示生成动态链接库,可以供以后编程使用,同时生成的可执行程序也依赖这些动态库。如果不加上--enable-shared选项则使用静态链接的方式编译,此时不会生成动态库,同时生成的ffmpeg等的可执行文件体积也比较大,但他们不需要动态库就可以直接运行.

# make (大约15分钟)

# make install


三、 安装OpenCV-2.4.13

1. 从官网下载opencv-2.4.13.zip

2. 执行安装

# unzip opencv-2.4.13.zip
# cd opencv-2.4.13
# cmake CMakeLists.txt

(此处大约1分钟,会看到很多打印信息,包括ffmepg的配置信息,如果是YES,则一切OK,如下图所示)


# make && make install

(此处大约30分钟)

四、 测试是否安装成功(请进入桌面模式,才能看到图片,纯命令行看不到图片)

1. # vim /etc/ld.so.conf.d/opencv.conf 创建并编辑该文件。填入:/usr/local/lib
2. # ldconfig
3. # vim /etc/bashrc 在文件末尾,填写以下2行:
PKG_CONfig_PATH=$PKG_CONfig_PATH:/usr/local/lib/pkgconfig
export PKG_CONfig_PATH
4. # source /etc/bashrc 使文件生效
5. 进入opencv-2.4.13下的 samples / c 目录
运行脚本$./build_all.sh
等待其编译完后,执行目录下的其中一个程序 $./find_obj 。可以看到结果


结果如图:


五、 常见错误及解决方案


报错信息:

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


解决方案:

(1)彻底删除已安装的opencv

# 删除解压后的安装包,重新解压一次opencv-2.4.13.zip

# rm -rf /usr/local/lib/libopencv*

# rm -rf /usr/local/include/opencv
# rm -rf /usr/local/include/opencv2

(2)重复第三、四步,执行安装

-----------------------------------------------------------------------------------------------------------------------------------

六、 参考文献:

[1]http://blog.csdn.net/genghaihua/article/details/44305949

[2]http://blog.csdn.net/luotuo44/article/details/8909258

[3]http://noalgo.info/874.html

CentOS安装OpenCV-2.4.13的更多相关文章

  1. HTML5 播放 RTSP 视频的实例代码

    目前大多数网络摄像头都是通过 RTSP 协议传输视频流的,但是 HTML 并不标准支持 RTSP 流。本文重点给大家介绍HTML5 播放 RTSP 视频的实例代码,需要的朋友参考下吧

  2. iOS使用openCV检测来自摄像头的矩形

    如果我在处理它之前克隆matimage,通过记录它,它似乎处理图像甚至找到矩形,但矩形不会被绘制到图像输出到imageView.我很确定我错过了一些东西,可能是因为我没有正确传递某个对象,指向对象的指针等等,而我需要修改的对象则没有.无论如何,如果这不是正确的方法,我真的很感谢他们做这样的事情的教程或例子,使用openCV或GPUImage…它不需要尝试使用matimage来设置imageView.image,而只需要将matimage转换为在imageView中实际修改,因为CvVideoCamera已

  3. XCode 3.2 Ruby和Python模板

    在xcode3.2下,我的ObjectiveCPython/Ruby项目仍然可以打开更新和编译,但是你无法创建新项目.鉴于xcode3.2中缺少ruby和python的所有痕迹(即创建项目并添加新的ruby/python文件),是否有一种简单的方法可以再次安装模板?我发现了一些关于将它们复制到某个文件夹的信息,但我似乎无法让它工作,我怀疑文件夹的位置已经改变为3.2.解决方法3.2中的应用程序模板

  4. 使用Xcode为OS X Lion / Mountain Lion编译OpenCV(2.3.1)

    任何人都可以为我提供一些如何使用Xcode在OSXLion上编译OpenCV2.3.1的详细指南吗?我对此感到生气…我得到了源码,使用cmake创建Xcode模板并尝试构建它,但它失败了大约200个错误.提前致谢,大教堂解答我的回答帖子.解决方法详细指南如何使用MacPorts在Xcode4.2.1的OSXLion下启动和运行OpenCV2.3.1编辑08/06/2012:这也适用于OpenCV2.4.1.只需确保您获得最新版本的Xcode并安装“命令行工具”.编辑15/08/2012:使用Mountai

  5. ios – OpenCV构建问题,找不到ext/atomicity.h

    我得到编译器错误抱怨在构建包含OpenCV的项目时.环境是针对iOS的Xcode4.5.它为模拟器编译良好,但在为设备构建时失败.这是错误文本:我正在使用opencv2.framework,使用指令here构建cmake.解决方法默认情况下,XCode4.5使用libc(支持C11的LLVMC标准库)生成要构建的新项目.但OpenCV期望针对GNUlibstd

  6. 从IOS / iPad / iPhone的最大速度

    我使用OpenCVforiOS完成计算密集型应用程序.当然这很慢.但它比我的PC原型慢了200倍.所以我正在优化它.从最初的15秒,我能够获得0.4秒的速度.我想知道我是否找到了所有的东西以及别人想要分享的东西.我做了什么:>将OpenCV中的“double”数据类型替换为“float”.双倍是64位,32位cpu不能轻易处理,所以浮动给了我一些速度.OpenCV经常使用双倍.>为编译器选项添加了

  7. ios – ffmpeg不会在我的项目中构建,在示例应用程序中运行良好

    我已经尝试了几个小时,但我无法弄清楚这一点.我在我的项目中使用KXMOVIE.我按照指示下载并编译了ffmpeg二进制文件.示例应用程序实际上工作正常,但我不能让它在我自己的项目中构建.所有.a文件都在那里,它与示例应用程序中的文件完全相同.当我尝试为模拟器构建时,我收到此错误.我究竟做错了什么?我甚至不知道从哪里开始.解决方法您还需要与libiconv链接.假设你拥有它,请将-liconv作为链接选项.

  8. ios – 如何将YUVJ420P中的FFMPEG AVFrame转换为AVFoundation cVPixelBufferRef?

    我在YUVJ420P中有一个FFMPEGAVFrame,我想用CVPixelBufferCreateWithBytes将它转换为CVPixelBufferRef.我想这样做的原因是使用AVFoundation来显示/编码帧.我选择了kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange并尝试转换它,因为AVFrame有三个平面的数据Y480Cb240Cr24

  9. Swift基本使用-函数和闭包(三)

    声明函数和其他脚本语言有相似的地方,比较明显的地方是声明函数的关键字swift也出现了Python中的组元,可以通过一个组元返回多个值。传递可变参数,函数以数组的形式获取参数swift中函数可以嵌套,被嵌套的函数可以访问外部函数的变量。可以通过函数的潜逃来重构过长或者太复杂的函数。

  10. 10 个Python中Pip的使用技巧分享

    众所周知,pip 可以安装、更新、卸载 Python 的第三方库,非常方便。本文小编为大家总结了Python中Pip的使用技巧,需要的可以参考一下

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部