热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS+OpenCV2.3.1+ffmpeg0.8+Codeblocks

由于项目需要,要把之前的工作移植到CentOS上。由于之前没有真正下手使用过Linux的系统,所以这次算是练手了。1环境部署1.1安装VMWare91.2新建虚拟机,安装CentOS6.
由于项目需要,要把之前的工作移植到CentOS上。由于之前没有真正下手使用过Linux的系统,所以这次算是练手了。

1         环境部署

1.1   安装VMWare9

1.2   新建虚拟机,安装CentOS6.4-x86_64

虚拟机配置根据计算机硬件和需求进行配置,网络设置成bridge。如果安装过程中出现VT-x错误,需要在BIOS中开启VT-x,AMD平台未测。

1.3   安装OpenCV2.3.1

参考

blog.csdn.net/xiaohouzuoxin/article/details/9831263

需要单独下载的默认放在/home/xx/Downloads

1.3.1       部署yum源

在mirror.163.com中获得CentOS的repo文件,覆盖本地的文件

/etc/yum.repo.d/CentOS-Base.repo

1.3.2       准备环境

su

yum install gcc-c++

yum install gtk+-devel.i686

yum install gimp-devel.i686

yum install gimp-devel-tools.i686

yum install gimp-help-browser.i686

yum install zlib-devel.i686

yum install libtiff-devel.i686

yum install libjpeg-devel.i686

yum install libpng-devel.i686

yum install gstreamer-devel.i686

yum install libavc1394-devel.i686

yum install libraw1394-devel.i686

yum install libdc1394-devel.i686

yum install jasper-devel.i686

yum install jasper-utils.i686

yum install cmake

yum install swig

yum install python

yum –y install libtool

yum install nasm.i686

*.i686换成*.x86_64,如果出现yum的软件包没有,用yum search 软件包名搜索一下,在yum install找到的软件包名

 

1.3.3       ffmpeg

参考

blog.csdn.net/xygl2009/article/details/12998497

在官网找ffmpeg-0.8稳定版,下载后解压,Open in Terminal

./configure –enable-shared –enable-gpl –enable-swscale–disable-yasm

make

make install

所有的库安装在/usr/local/lib下,所有的头文件安装在/usr/local/include下

测试ffplay,但是会报错。找到config.mak文件并打开,找到CONFIG_FFPLAY=yes,去掉前面的!,再make。提示缺少SDL。安装SDL

yum install SDL

再安装缺少的几个库SDL_mixer-2.0.0,SDL_image-2.0.0和SDL_rtf-0.1.0。但是make时会出错,定位的错误是SDL的版本号太旧,下载最新的SDL2-2.0.3并安装,问题解决。

make

make install

 

1.3.4       pkg-config

参考blog.csdn.net/firefoxbug/article/details/7554409

pkg-config通过各个库文件中的.pc文件识别已安装的库文件的信息。这些.pc文件是由各库的安装程序自己生成的。通过PKG_CONFIG_PATH来设置pkg-config进行更新。

 

1.3.5       cmake

yum install cmake

 

1.3.6       OpenCV2.3.1

解压后Open in Terminal,

mkdir release

cd release

cmake ../

出错,定位在CMakeLists.txt中的第44行。简单的作法是注释掉这一行。再次

cmake ../

生成列表中ffmpeg相关的都是no。执行

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

再次执行

cmake ../

生成列表中ffmpeg相关项都是yes

make

make install

 

所有的库安装在/usr/local/lib下,所有的头文件安装在/usr/local/include下。测试OpenCV和ffmpeg之前还需将路径更新

vi /etc/ld.so.conf

最后加入一行 /usr/local/lib

ldconfig

 

1.4   CodeBlocks-12.11

参考

www.ienter.org/html/2013/07/117.html

下载codeblocks-12.11,安装。还需要安装wxGTK和xterm

 

2         例程调试

参考

http://www.07net01.com/program/123599.html

http://digitus.itk.ppke.hu/~losda/anyagok/OpenCV/CodeBlocks_OpenCV.pdf

 

默认路径/home/xx/Codes/test/test_opencv

打开Code::blocks

新建工程,类型为Console application,使用语言C++,工程名test_opencv,一路next就好了。

在sources中双击main.cpp

输入代码

#include  
#include  
#include  
#include  
  
using namespace cv;  
using namespace std;  
  
int main( int argc, char ** argv )  
{  
    if (argc == 2)  
    {  
        Mat img;  
        img = imread(argv[1]);  
        imshow(“test”, img);  
        waitKey(0);  
        return 0;  
    }  
    return -1;  
}  

配置工程的环境变量等

右键左手边的test_opencv,选择Build options,选择对话框左手边的test_opencv,然后选择Linker settings,在Linklibraries中加入使用到的lib

/usr/local/lib/libopencv_highgui.so.2.3.1

/usr/local/lib/libopencv_imgproc.so.2.3.1

/usr/local/lib/libopencv_core.so.2.3.1

选择Search directories,在Compiler中加入include的位置

/usr/local/include/opencv2

/usr/local/include

在Linker中加入lib的位置

/usr/local/lib

最后点击确定,进行编译,生成的文件在../bin/Release里面

在Terminal中进入该路径,执行

./test_opencv xx.xx

显示图片说明OpenCV能够正常使用了。下面测试视频播放功能

#include  
#include  
#include  
#include  
#include  
   
using namespace cv;  
using namespace std;  
   
int main( int argc, char ** argv )  
{  
       Matimg;  
       VideoCapturepCap;  
        
       if(!pCap.isOpened())  
              return-1;  
   
       while(1)  
       {  
              pCap>> img;  
              imshow(“test”,img);  
              if(waitKey(10) == 27)  
                  break;  
       }  
       return-1;  

在Linker settings,Link libraries中加入

/usr/local/lib/libopencv_video.so.2.3.1

编译

在Terminal中进入该路径,执行

./test_opencv xx.xx

播放视频,按ESC退出。


推荐阅读
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
    本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了使用CentOS7.0 U盘刻录工具进行安装的详细步骤,包括使用USBWriter工具刻录ISO文件到USB驱动器、格式化USB磁盘、设置启动顺序等。通过本文的指导,用户可以轻松地使用U盘安装CentOS7.0操作系统。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 本文详细介绍了在Centos7上部署安装zabbix5.0的步骤和注意事项,包括准备工作、获取所需的yum源、关闭防火墙和SELINUX等。提供了一步一步的操作指南,帮助读者顺利完成安装过程。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
author-avatar
sj_Ford
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有