一、安装make,cmake

sudo apt-get install make
sudo apt-get install cmake

二、下载deb包

去这里下载libopencv_2.4.10.deb.zip(我不太好下载,折腾了好久最后是用手机流量才下载下来,电脑一直下载到一大半就停止不动了)

那个deb的作者还发了这个帖子,有问题可以去问

三、安装deb包

解压.deb.zip,复制到RPi上,到那个目录里,然后执行

sudo dpkg -i ./libopencv_2.4.10.deb

四、复制头文件

下载OpenCV2.4.10 Windows版,在win下安装,得到/build,/source目录。复制/build/include/*到/usr/local/include

(假设/build/include/已经复制到RPi上的./目录了)

sudo cp -r ./* /usr/local/include

说明一下deb和头文件的关系:deb里头是一些.so(动态链接库),在链接时用到;头文件在编译时用到。缺一不可。

五、安装ffmpeg

可以先试试看不做这个步骤,反正我在安装之前一直莫名其妙地报错,说

/tmp/ccDC21Dx.o: In function `cv::Mat::~Mat()':
a.cpp:(.text._ZN2cv3MatD2Ev[_ZN2cv3MatD5Ev]+0x3c): undefined reference to `cv::fastFree(void*)'
/tmp/ccDC21Dx.o: In function `cv::Mat::release()':
a.cpp:(.text._ZN2cv3Mat7releaseEv[cv::Mat::release()]+0x58): undefined reference to `cv::Mat::deallocate()'

安装之后正常(不知道是不是这个原因)

sudo apt-get install ffmpeg

六、新建测试工程源码

假设我们在目录./下做这个工程

1.新建a.cpp,内容如下:(主要是看看Mat能否正常初始化和析构,可以的话基本上就没问题了)

#include "opencv2/opencv.hpp"
using namespace cv; int main(){
Mat img;
return ;
}

2.新建CMakeLists.txt,内容如下:(这个文件名不可更改,用于cmake)

PROJECT(main)
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
AUX_SOURCE_DIRECTORY(. DIR_SRCS)
ADD_EXECUTABLE(main ${DIR_SRCS})
TARGET_LINK_LIBRARIES(main opencv_core)
TARGET_LINK_LIBRARIES(main opencv_imgproc)
TARGET_LINK_LIBRARIES(main opencv_video)
TARGET_LINK_LIBRARIES(main opencv_highgui)
TARGET_LINK_LIBRARIES(main opencv_photo)
TARGET_LINK_LIBRARIES(main opencv_flann)
TARGET_LINK_LIBRARIES(main opencv_superres)
TARGET_LINK_LIBRARIES(main opencv_stitching)
TARGET_LINK_LIBRARIES(main opencv_ml)
TARGET_LINK_LIBRARIES(main opencv_video)
TARGET_LINK_LIBRARIES(main opencv_features2d)
TARGET_LINK_LIBRARIES(main opencv_calib3d)
TARGET_LINK_LIBRARIES(main opencv_objdetect)

七、编译测试工程

1.编译

mkdir ./build
cd ./build
cmake ..
make

如果没有错误,就会产生如下输出

pi@turtle ~/swap/proj $ mkdir build
pi@turtle ~/swap/proj $ cd ./build
pi@turtle ~/swap/proj/build $ cmake ..
-- The C compiler identification is GNU 4.6.
-- The CXX compiler identification is GNU 4.6.
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/swap/proj/build
pi@turtle ~/swap/proj/build $ make
Scanning dependencies of target main
[%] Building CXX object CMakeFiles/main.dir/a.cpp.o
Linking CXX executable main
[%] Built target main

2.运行

./main

应该如下:

pi@turtle ~/swap/proj/build $ ./main
pi@turtle ~/swap/proj/build $

对,确实没有输出,但是没有报错就是好事了,接下来就可以使用了!

八、(g++命令行)

g++ ./a.cpp -lopencv_core -lopencv_imgproc -lopencv_video -lopencv_highgui -lopencv_flann -lopencv_superres -lopencv_stitching -lopencv_ml -lopencv_features2d -lopencv_calib3d -lopencv_objdetect

(版权所有,转载注明出处http://www.cnblogs.com/turtlegood/)

(本文结束)

树莓派 安装 OpenCV 使用CMake 编译工程 最新版2015的更多相关文章

  1. ubuntu安装opencv(自己编译)

    如果只需要python的,只需pip install opencv-python,然后apt-get一下下面第一点的东东. 1/ sudo apt-get install build-essentia ...

  2. linux下安装protobuf及cmake编译

    一.protobuf 安装 protobuf版本:2.6.1 下载地址:https://github.com/google/protobuf/archive/v2.6.1.zip 解压之后进入目录 修 ...

  3. [树莓派(raspberry pi)] 02、PI3安装openCV开发环境做图像识别(详细版)

    前言 上一篇我们讲了在linux环境下给树莓派安装系统及入门各种资料 ,今天我们更进一步,尝试在PI3上安装openCV开发环境. 博主在做的过程中主要参考一个国外小哥的文章(见最后链接1),不过其教 ...

  4. 树莓派学习笔记—— 源码方式安装opencv

    0.前言     本文介绍怎样在树莓派中通过编译源码的方式安装opencv,并通过一个简单的样例说明怎样使用opencv.     很多其它内容请參考--[树莓派学习笔记--索引博文] 1.下载若干依 ...

  5. CentOS7 安装 OpenCV 的一些问题解决办法

    由于强迫症,实在受不了root权限的旧gcc才能使用boost而普通权限却是最新版gcc,经过一番折腾后,终于把配置全部弄好了,实际上就只需要把新版gcc的各个文件放到系统找到旧gcc的地方,并建立新 ...

  6. 在 Linux 下用 CMAKE 编译安装 OpenCV 3.2.0

    [安装相关软件和库] 1.安装CMAKE:这里使用apt-get来安装; CMAKE 是一个跨平台编译工具,能够输出各种makefile,和project 文件,指导编译器编译,对CMAKE具体的可以 ...

  7. OpenCV使用CMake和MinGW的编译安装

    官方教程:https://wiki.qt.io/How_to_setup_Qt_and_openCV_on_Windows 软件环境: Qt:5.11 CMake-3.14.4 OpenCV-4.1. ...

  8. Windows下CMake编译安装OpenCV

    Windows下CMake编译安装OpenCV 这是一个面向新手的在windows上运进opencv, helloword的教程. 在这里我们使用vs2019来编译opencv, 并运行一个hello ...

  9. 在ubunt14.04(linux)下利用cmake编译运行opencv程序

    今天在电脑上安装好了opencv环境,迫不及待的想写个程序来测试一下.但是在windows下我们用vs等集成开发工具.可是在linux下我们应该怎么办呢? 这里我们用了opencv推荐的cmake来编 ...

随机推荐

  1. 【uva753/poj1087/hdu1526-A Plug for UNIX】最大流

    题意:给定n个插座,m个插头,k个转换器(x,y),转换器可以让插头x转成插头y.问最少有多少个插头被剩下. 题解: 最大流或者二分图匹配.然而我不知道怎么打二分图匹配..打了最大流.这题字符串比较坑 ...

  2. cojs QAQ的序列 解题报告

    QAQ 这是从论文上搬的一道题目 但是由于并没有找到题目地址,所以就自己造数据咯 发现数据无比难造 (本题数据极弱,暴力或可AC?) 我们考虑离线的话其实只需要莫队就可以了 那么在线怎么做呢 二进制分 ...

  3. Java-J2SE学习笔记-线程-生产者消费者问题

    一.概述 模拟生产者消费者问题 二.代码 1.Consumer.java 2.Producer.java 3.SyncStack.java 4.Test.java 1.Consumer.java pa ...

  4. iOS 多线程下安全的使用定时器

    iOS中timer相关的延时调用,常见的有NSObject中的performSelector:withObject:afterDelay:这个方法在调用的时候会设置当前runloop中timer,还有 ...

  5. iOS:实现MKAnnotation协议,在地图上设置大头针,点击显示具体的位置信息

    如何添加大头针(地标): 通过MapView的addAnnotation方法可以添加一个大头针到地图上 通过MapView的addAnnotations方法可以添加多个大头针到地图上 –(void)a ...

  6. 使AJAX调用尽可能利用缓存特性

    优化网站设计(十四):使AJAX调用尽可能利用缓存特性 前言 网站设计的优化是一个很大的话题,有一些通用的原则,也有针对不同开发平台的一些建议.这方面的研究一直没有停止过,我在不同的场合也分享过这样的 ...

  7. android ADB命令的使用

    http://jingyan.baidu.com/article/fcb5aff7f55c63edab4a7174.html 综上所述,我觉得告知各位菜鸟同学如何删除自带的程序是很有必要的一件事情.1 ...

  8. <转Tanky Woo> 字典树

    又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计.它的优点是:利用字符串的公共前缀 ...

  9. Just Have a Change

    If you still do something meaningless or live a purposeless and empty life. Now, it may be time for  ...

  10. java 字符串函数

    string1.equals(string2) 比较字符串 substring()它有两种形式,第一种是:String substring(int startIndex)第二种是:String sub ...