在Ubuntu11.10中安装配置OpenCV2.3.1和CodeBlocks
1、 打开终端;
2、 执行指令,删除ffmpeg and x264旧版本:sudo apt-get removeffmpeg x264 libx264-dev
3、
下载安装x264和ffmpeg所有的依赖:sudo apt-get update
sudo apt-get installbuild-essential checkinstall git cmake libfaac-dev libjack-jackd2-devlibmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-devlibtheora-dev libva-dev libvdpau-dev libvorbis-dev libx11-dev libxfixes-devlibxvidcore-dev texi2html yasm zlib1g-dev
4、下载并安装gstreamer:sudo apt-getinstall libgstreamer0.10-0 libgstreamer0.10-dev gstreamer0.10-tools gstreamer0.10-plugins-baselibgstreamer-plugins-base0.10-dev gstreamer0.10-plugins-goodgstreamer0.10-plugins-ugly gstreamer0.10-plugins-bad gstreamer0.10-ffmpeg
5、 下载并安装x264:下载一个最近的stable snapshot of x264版本ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
tar xvf x264-snapshot-20120516-2245-stable.tar.bz2
cd x264-snapshot-20120516-2245-stable /
./configure --enable-shared --enable-pic
make
sudo make install
6、 下载并安装ffmpeg:http://ffmpeg.org/download.html注意: OpenCV2.3.1以前的版本需要ffmpeg0.7.x
tar xvf ffmpeg-0.10.3.tar.bz2
cd ffmpeg-0.10.3/
./configure--enable-shared--enable-pic --enable-gpl --enable-libfaac --enable-libmp3lame--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora--enable-libvorbis --enable-libx264 --enable-libxvid --enable-nonfree--enable-postproc --enable-version3 --enable-x11grab
make
sudo make install
7、
下载并安装gtk:sudo apt-get install libgtk2.0-0 libgtk2.0-dev
8、
下载并安装libjpeg:sudo apt-get install libjpeg62libjpeg62-dev
9、 下载并安装v4l:http://www.linuxtv.org/downloads/v4l-utils/
tar xvf v4l-utils-0.8.8.tar.bz2
cd v4l-utils-0.8.8/
make
sudo make install
10、 下载并安装OpenCV2.3.1:http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.3.1/OpenCV-2.3.1a.tar.bz2
tar xvfOpenCV-2.3.1a.tar.bz2
cd OpenCV-2.3.1/
mkdir Release
cd Release
cmake -DCMAKE_BUILD_TYPE=RELEASE ..
make
sudo make install
cd ..
mkdir Debug
cd Debug
cmake –DCMAKE_BUILD_TYPE=DEBUG ..
make
sudo make install
11、参数设置:
(1)、在/etc/ld.so.conf.d/opencv.conf文件末尾加入一行:/usr/local/lib(没有此文件,则新建);
sudo vi /etc/ld.so.conf.d/opencv.conf
G
o
/usr/local/lib
<Esc>
:wq!
(2)、在/etc/bash.bashrc文件末尾加入
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
(3)
、重启: sudo reboot
12
、安装、配置Codeblocks,与Windows7上步骤基本一致,详见:
http://blog.csdn.net/fengbingchun/article/details/7343658
13
、编写一简单显示图像的控制台应用程序:File-->
New-->
Project…
,击中Console application-->
Go-->
C++-->
Folder to create project in:/home/spring/Test;Projec title:project;
一直Next即可,生成main.cpp文件。
#include<iostream>
#include<opencv2/opencv.hpp>
usingnamespace std;
int main()
{
IplImage *img = cvLoadImage("aa.bmp");
cvNamedWindow("image", 1);
cvShowImage("image", img);
cvWaitKey(0);
cvDestroyWindow("image");
cvReleaseImage(&img);
return 0;
}
配置参数:Project-->
build options,
点击Debug-->
Linker settings-->
Link libraries Add-->
选中刚才创建的Debug文件夹下的
lib文件夹下13个.so库,选中Search directories-->Compiler-->Add,/usr/local/include/opencv /usr/local/include/opencv2,Linker-->选中Debug文件夹下的lib。
点击Release,-->Linker settings-->Link libraries-->Add-->选中刚才创建的Release文件夹下的lib文件夹下的13个.so库,与Debug中的名字完全一致,但是大小却相差很大,选中Search directories-->Compiler-->Add,/usr/local/include/opencv /usr/local/include/opencv2,与Debug的操作完全一样,Linker-->选中Release文件夹下的lib。
分别编译运行即可,而且在Debug下也可以进行单步调试、跟踪。
如果在运行中出现控制台显示乱码的问题,则将settings-->Enviroment中的Terminal to launch consoleprograms:由原来的xterm-T$TITLE –e改为gmome-terminal –t $TITLE –x即可。
如果出现Gtk-WARNING :无法在模块路径中找到主题引擎:”pixmap”,则打开新立得包管理器,搜索gtk2-engines-pixbuf安装即可。
参考文献:
1、 http://www.ozbotz.org/opencv-installation/
2、http://www.cnblogs.com/giraffe/archive/2012/02/15/2353308.html
3、 http://code.google.com/p/qt-opencv-multithreaded/wiki/Documentation
4、 http://www.cnblogs.com/sunshy/archive/2011/11/30/2268370.html
5、 http://blog.sina.com.cn/s/blog_79efde490100umza.html
6、 http://www.cnblogs.com/DeathKid/archive/2011/08/10/2133287.html
相关文章:

深入浅出Rust Future - Part 1
本文译自Rust futures: an uneducated, short and hopefully not boring tutorial - Part 1,时间:2018-12-02,译者:motecshine, 简介:motecshine 欢迎向Rust中文社区投稿,投稿地址,好文将在以下地方直接展示 Rust中文社区首页Rust…

cmd 修改文件属性
现在的病毒基本都会采用一种方式,就是将病毒文件的属性设置为系统隐藏属性以逃避一般用户的眼睛,而且由于Windows系统的关系,这类文件在图形界面下是不能修改其属性的。但是好在Windows还算做点好事,留下了一个attrib命令可以让我…

Django 视图
Django之视图 目录 一个简单的视图CBV和FBV FBV版:CBV版:给视图加装饰器 使用装饰器装饰FBV使用装饰器装饰CBVrequest对象 请求相关的常用值属性方法Response对象 使用属性JsonResponse对象Django shortcut functions render()redirect()Django的View&am…

喜大普奔!GitHub官方文档推出中文版
原创整理 | Python开发者(ID:PythonCoder)最近程序员交友圈出了一个大新闻,GitHub 帮助文档正式推出中文版了,之前一直都是只有英文文档,看起来费劲不方便。这份中文文当非常详尽,可以说有了它 …

Linux中获取当前程序路径的方法
1、命令行实现:转自:http://www.linuxdiyf.com/viewarticle.php?id84177 #!/bin/sh cur_dir$(pwd) echo $cur_dir 注意:在cur_dir后没空格,后面也不能有空格,不然它会认为空格不是路径而报错 2、程序实现…

android 关于字符转化问题
今日在写android的客户端,发现字符转化是个大问题。 下面是Unicode转UTF-8的转化,便于以后使用 private static String decodeUnicode(String theString) { char aChar; int len theString.length(); StringBuffer outBuffer new Strin…

30分钟看懂XGBoost的基本原理
作者 | 梁云1991转载自Python与算法之美(ID: Python_Ai_Road)一、XGBoost和GBDTxgboost是一种集成学习算法,属于3类常用的集成方法(bagging,boosting,stacking)中的boosting算法类别。它是一个加法模型,基模型一般选择树模型&…

Linux下遍历文件夹的实现
转自:http://blog.csdn.net/wallwind/article/details/7528474 linux C 遍历目录及其子目录 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <dirent.h> #include <sys/stat.h> #include <unistd.h&…

如何用Python画一棵漂亮的树
Tree海龟绘图turtle 在1966年,Seymour Papert和Wally Feurzig发明了一种专门给儿童学习编程的语言——LOGO语言,它的特色就是通过编程指挥一个小海龟(turtle)在屏幕上绘图。 海龟绘图(Turtle Graphics)后来…

windows7下,Java中利用JNI调用c++生成的动态库的使用步骤
1、从http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2-download-1377129.html下载jdk-7u2-windows-i586.exe,安装到D:\ProgramFiles\Java,并将D:\ProgramFiles\Java\jdk1.7.0_02\bin添加到环境变量中; 2、从http://www.ec…

外观模式 - 设计模式学习
外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 怎么叫更加容易使用呢?多个方法变成一个方法,在外观看来,只需知道这个功能完成…

Google最新论文:大规模深度推荐模型的特征嵌入问题有解了!
转载自深度传送门(ID: gh_5faae7b50fc5)导读:本文主要介绍下Google在大规模深度推荐模型上关于特征嵌入的最新论文。 一、背景大部分的深度学习模型主要包含如下的两大模块:输入模块以及表示学习模块。自从NAS[1]的出现以来&#…

[20181204]低版本toad 9.6直连与ora-12505.txt
[20181204]低版本toad 9.6直连与ora-12505.txt--//我们生产系统还保留有一台使用AMERICAN_AMERICA.US7ASCII字符集的数据库,这样由于toad新版本不支持该字符集的中文显示.--//我一直保留toad 9.6的版本,并且这个版本是32位的,我必须在我的机器另外安装10g 32位版本的客户端,这样…

Google揭露美国政府通过NSL索要用户资料
当美国联邦调查局FB或其他美国执法机构进行有关国家安全的调查时,能通过一种“国家安全密函National Security ,NSL)”向服务商索取其用户的个人资料,由于事关国家安全,因此该密函并不需经法院同意。但根据美国电子通讯隐私法的规…

Ubuntu下,Java中利用JNI调用codeblocks c++生成的动态库的使用步骤
1、 打开新立得包管理器,搜索JDK,选择openjdk-6-jdk安装; 2、 打开Ubuntu软件中心,搜索Eclipse,选择Eclipse集成开发环境,安装; 3、 打开Eclipse,File-->New-->Java Proj…

比Hadoop快至少10倍的物联网大数据平台,我把它开源了
作者 | 陶建辉转载自爱倒腾的程序员(ID: taosdata)导读:7月12日,涛思数据的TDengine物联网大数据平台宣布正式开源。涛思数据希望尽最大努力打造开发者社区,维护这个开源的商业模式,他们相信不将最核心的代…

Script:挖掘AWR实现查询SCN历史增长走势
AWR中记录了快照时间内calls to kcmgas的统计值,calls to kcmgas的意义在于通过递归调用获得一个新的SCN,该统计值可以看做SCN增长速度的主要依据,通过挖掘AWR可以了解SCN的增长走势,对于我们诊断SCN HEADROOM问题有所帮助&#x…

运动目标检测__光流法
以下内容摘自一篇硕士论文《视频序列中运动目标检测与跟踪算法的研究》: 1950年Gibson首先提出了光流的概念,光流(optical flow)法是空间运动物体在观测成像面上的像素运动的瞬时速度。物体在运动的时候,它在图像上对应点的亮度模式也在做相…

读完这45篇论文,“没人比我更懂AI了”
作者 | 黄海广 转载自机器学习爱好者(ID:ai-start-com) 导读:AI领域的发展会是IT中最快的。我们所看到的那些黑科技,其后无不堆积了大量论文,而且都是最新、最前沿的论文。从某种角度来讲,它们所用的技术跟…

深入理解JVM——虚拟机GC
对象是否存活 Java的GC基于可达性分析算法(Python用引用计数法),通过可达性分析来判定对象是否存活。这个算法的基本思想是通过一系列"GC Roots"的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链,当…

2019年最新华为、BAT、美团、头条、滴滴面试题目及答案汇总
作者 | 苏克1900来源 | 高级农民工(ID:Mocun6)【导语】最近 GitHub 上一个库火了,总结了 阿里、腾讯、百度、美团、头条等国内主流大厂的技术面试题目,目前 Star 2000,还在持续更新中,预计会火下…

华胜天成ivcs云系统初体验2
重启完成以后,就看到传统的linux init3级别的登录界面。输入用户名root 密码:123456 (默认)接下来的工作是配置一些东西,让它跑起来。首先,要修改IP地址,还有机器名。输入命令:ivcs…

OpenCV中响应鼠标信息cvSetMouseCallback函数的使用
转自:http://blog.csdn.net/haihong84/article/details/6599838 程序代碼如下: #include <cv.h> #include <highgui.h> #include <stdio.h void onMouse(int event,int x,int y,int flags,void* param ); int main(int argc, char** …

日常遇到的一些问题或知识的笔记(一)
1、坑爹的sessionStorage 一直以为sessionStorage、localStorage跟cookie一样,只要存在,整个域名下都可见,直到新开了一个窗口tab页,惊奇的发现下面的sessionStorage丢失了! Web Storage 包含如下两种机制:…

你是“10倍工程师”吗?这个事,国外小伙伴们都快“吵”起来了
整理 | 夕颜出品 | AI科技大本营(ID:rgznai100)【导读】近日,推特上一个话题“10x工程师”异常火爆,引发的热议经久不散。这个话题由一位印度初创公司投资人 Shekhar Kirani 的一条推特引发,他写道;“如果…

运动目标跟踪__kalman
转自:http://blog.csdn.net/lindazhou2005/article/details/1534234 1、 什么是卡尔曼滤波器(What is the Kalman Filter?) 在学习卡尔曼滤波器之前,首先看看为什么叫“卡尔曼”。跟其他著名的理论(例如傅立叶变换&a…

Spring工厂常识
环境搭建导入Sring对应的jar包导入Spring依赖的commons-loggin包导入log4j.properties在src下导入ApplicationContext.xml在任意目录下是一个轻量级的企业开发框架核心:IOC , AOP编程IOC:也就是inverse of control 控制反转 就是讲创建对象的权利转移到工厂中,从而实现解耦合和…

iframe子页面操作父页面
2019独角兽企业重金招聘Python工程师标准>>> 最近经常用到iframe,用的最多的就是在子页面中操作父页面的方法或变量等,总结了用到的几种方法,如下: var tableName window.parent.frames["mainFrame"].tNam…

ASP.NET MVC动作过滤器
ASP.NET MVC中包含以下4种不同类型的Action Filter: 类型使用时机接口实现方法授权过滤器(Authorization Filter)在执行任何Filter或Action之前被执行,用于进行身份验证IAuthorizationFilterAuthorizeAttribute动作过滤器(Action Filter)在执行Action之前…