参考原文:https://my.oschina.net/u/1757926/blog/293976

1. 先从sourceforge上下载OpenCV的源码

  1. http://jaist.dl.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.9/opencv-2.4.9.zip

2. 解压到任意目录

  1. unzip opencv-2.4.9.zip

3. 进入源码目录,创建release目录

  1. cd opencv-2.4.9

  2. mkdir release

4. 可以看到在OpenCV目录下,有个CMakeLists.txt文件,需要事先安装一些软件

  1. sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev

5.  新建release目录,并进入release目录,安装OpenCV是所有的文件都会被放到这个release目录下

  1. cd release

6. cmake编译OpenCV源码,安装所有的lib文件都会被安装到/usr/local目录下

  1. cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_FFMPEG=OFF -D CMAKE_INSTALL_PREFIX=/usr/local ..

7. 安装

  1. sudo make install

8. 测试,在某个目录下建立一个test.cpp文件

#include <cv.h>  
#include <highgui.h>  
  
using namespace cv;  
  
int main(int argc, char* argv[])  
{  
    Mat image;  
    image = imread(argv[1], 1);  
  
    if (argc != 2 || !image.data)   
    {  
        printf("No image data\n");  
        return -1;  
    }  
  
    namedWindow("Display Image", CV_WINDOW_AUTOSIZE);  
    imshow("Display Image", image);  
    waitKey(0);  
    return 0;  
}

9. 写一个cmake的makefile,也叫CMakeLists.txt

project(test)  
find_package(OpenCV REQUIRED)  
add_executable(test test)  
target_link_libraries(test ${OpenCV_LIBS})  
cmake_minimum_required(VERSION 2.8)

10. 编译+运行

    1. cmake .

    2. make

    3. 得到可执行文件test10. 编译+运行

11.安装树莓派时会出现

error when trying to build opencv 2.4.9

home/greg/Applications/opencv-2.4.10/modules/highgui/src/ffmpeg_codecs.hpp:104:7: error: ‘CODEC_ID_H264’ was not declared in this scope
{ CODEC_ID_H264, MKTAG('H', '2', '6', '4') },
^

解决方式:cmake ......... -D WITH_FFMPEG=OFF

12. 打开摄像头

int main()

{

VideoCapture cap(0);
if(!cap.isOpened())
{
printf("camera open faile!\n");
return -1;
}
namedWindow("hhh", CV_WINDOW_AUTOSIZE);
while(1)
{
Mat frame;
cap>>frame;
imshow("hhh",frame);
waitKey(30);
}

return 0;

}

opencv2.4.9在ubuntu(树莓派)上安装的更多相关文章

  1. 在(Raspberry Pi)树莓派上安装NodeJS

    本文主讲如何在树莓派3B上安装node.js 环境描述1. 树莓派安装了`2016-11-25-raspbian-jessie-lite`(PS:在此版本的镜像中,默认禁用了ssh,在烧录好镜像之后, ...

  2. 在Ubuntu|CentOS上安装Shutter截图工具及快捷键设置

    简介 Shutter前身叫GScrot,它是一款相当棒的截图软件. 通过Shutter,你可以截取包括选定区域.全屏幕.窗口.窗口内的控件甚至网页的图像.通过内置的强大插件机制,你可以在截图后,对图像 ...

  3. 一台Ubuntu server上安装多实例MySQL

    受环境所迫,在一台Ubuntu server上安装多个实例MySQL. 手动安装MySQL 环境:Ubuntu server 11.10 64bit + mysql-5.5.17-linux2.6-x ...

  4. 在64位Ubuntu系统上安装32位程序包

    在64位Ubuntu系统上安装32位的程序包 $sudo apt-get install package_name:i386 例如: $sudo apt-get install openjdk-7-j ...

  5. 在ubuntu服务器上安装tomcat 9

    前提条件: 确保ubuntu服务器上 已经安装 java 8 或更高版本,安装java8可以参考我的另一篇博文 通过 ppa 在ubuntu server 上安装java 8 java -versio ...

  6. 怎样在 Ubuntu Linux 上安装 MySQL

    本教程教你如何在基于 Ubuntu 的 Linux 发行版上安装 MySQL.对于首次使用的用户,你将会学习到如何验证你的安装和第一次怎样去连接 MySQL. -- Sergiu MySQL 是一个典 ...

  7. 在阿里云的ubuntu服务器上安装xampp时出现unable to realloc unable to realloc 8380000 bytes错误

    在阿里云的ubuntu服务器上安装xampp时出现unable to realloc unable to realloc 8380000 bytes错误 解决:增加Swap空间(阿里云缺省没有分配任何 ...

  8. 在树莓派上安装Theano

    “查遍全网都没人成功在树莓派安装Theano,这是什么样的感觉?” ——写在开头 在这里必须先说一下,由于安装过程中的坑太多了,遇到的问题层出不穷,所以我这里只能记录我安装过程中的印象深刻的问题,如果 ...

  9. 如何在Ubuntu/CentOS上安装Linux内核4.0

    大家好,今天我们学习一下如何从Elrepo或者源代码来安装最新的Linux内核4.0.代号为‘Hurr durr I'm a sheep’的Linux内核4.0是目前为止最新的主干内核.它是稳定版3. ...

随机推荐

  1. 第二章 搭建Android开发环境--读书笔记

    俗话说,工欲善其事,必先利其器,对于Android驱动开发来说,首先我们要做的就是搭建Android开发环境,我们首先要配置Linux驱动的开发环境,接着还得配置开发Android应用程序以及Andr ...

  2. 判断IP地址的类型

    #include <stdio.h> #include <stdlib.h> void main() { ]; int ip_addr; printf("请输入IP地 ...

  3. 《深入浅出Node.js》第6章 理解 Buffer

    @by Ruth92(转载请注明出处) 第6章 理解 Buffer ✁ 为什么需要 Buffer? 在 Node 中,应用需要处理网络协议.操作数据库.处理图片.接收上传文件等,在网络流和文件的操作中 ...

  4. python 3 字符串转 json

    from json import *; JSONDecoder().decode('str')

  5. MMDrawerController在表视图和导航栏中的使用

    1.如果不在APPDelegate引入MMDrawerController框架,那么就要注意在需要点击的视图控制器中的对象的获取. //工程中标签视图控制器 MainTabBarViewControl ...

  6. Docker-Dockerfile格式

    1.FROM //指定基于那个基础镜像 格式FROM<image>或者FROM<image>:<tag> 例如: FROM centos FROM centos:l ...

  7. warning 4510 with const member in struct

    I write a code section as this struct My{const int a;}; OK, then set the warning level then I will g ...

  8. sae flask 微信公众平台开发

    index.wsgi启动服务文件 import sae from evilxr import app application = sae.create_wsgi_app(app) evilxr.py ...

  9. RET2LIBC 练习(3) -- VIRTUALALLOC

    国庆假期没事做了几道pwn题练手,等有时间在贴出pwn题的分析. 利用VIRTUALALLOC的方法绕过DEP其实和之前的方法大同小异了,只是VIRTUALALLOC开辟了一段新的可执行的内存空间,然 ...

  10. 随机函数的代码(srand、rand)

    #include<stdio.h> int main() int counter; for(counter=0;counter<10;counter++) { srand(count ...