树莓派安装opencvopencv怎么显示

树莓派 opencv
人脸识别 - 优乐多 - 博客园
随笔 - 16, 文章 - 1, 评论 - 4, 引用 - 0
sudo apt-get update
sudo apt-get upgrade
sudo apt-get&install python-opencv & & & & & &(软件所在目录:/var/cache/apt/archives)
sudo apt-get&install python-pip
sudo apt-get&install python-dev
sudo pip&install picamera
以上是安装环境(目前opencv 只支持python 2.7;更高版本运行会报“No module named 'cv2'” 错误)每天一小步,人生一大步.....学习是一个不断积累的过程.......耐得住寂寞...............
写一下自己一个星期玩树莓派的经验,如何安装系统,如何在树莓派中安装opencv,如何运行代码。
在树莓派上安装opencv最简单的方法是:
sudo apt-get update
sudo apt-get install libopencv-dev
sudo apt-get install python-opencv
如果你还想了解更多,下面提供的那么多链接中你一定找到方法的,饭都送到你面前你不会吃,那么你活该饿着。
平时自己习惯用vim 所以在树莓派上安装了vim编辑器 安装命令
sudo apt-get
vim 就可以了。
好了,可以运行一个opencv的例子来检测你的opencv是否安装好了。
#include&iostream&
#include&cv.h&
#include&highgui.h&
#include&string&
int main()
{Mat img = imread("", 0);Mat image = imread("pp.jpg");namedWindow("pic_viewer", 0);imshow("pic_viewer", image);waitKey(); return 0;
编译运行代码:g++
`pkg-config opencv --libs --cflags opencv`
其中test.cpp是你的cpp文件,这里使用g++编译器 ,树莓派中系统装的时候顺带装好了,可以放心使用。至于为什么用`pkg-config opencv --libs --cflags opencv`
看好了 这里用了 `
pkg-config opencv --libs --cflags opencv两头,这里作用是为了链接代码中引用的头文件,自动去安装好的库中寻找.
下面是我玩树莓派过程收集到的一些资料:
http://www.eeboard.com/bbs/forum.php?mod=viewthread&tid=8629
运行树莓派上自带的例子。
http://blog.csdn.net/xukai871105/article/details/在树莓派上安装opencv的方法之一。
http://wiki.opencv.org.cn/index.php/Debian%e4%b8%8b%e5%ae%89%e8%a3%85。opencv中文网站提供opencv在树莓派上的安装方法
参考资料:
1.http://www.yfworld.com/?cat=34
2.http://www.educity.cn/wenda/565761.html
3.http://www.cnblogs.com/abel/p/3441175.html
4.http://forum.eepw.com.cn/thread/#3
5.http://www.eeboard.com/bbs/forum.php?mod=viewthread&tid=31153
6.http://www.codelast.com/?p=5013
7.http://www.cppblog.com/colorful/archive//173750.html
1.下载若干依赖项
在开始安装之前,最好更新树莓派软件源。如果更新时间太长,请参考博文修改软件源网络地址——【】
sudo apt-get update
请依次安装以下依赖项,这些必须安装的依赖项来自于opencv官网的说明,在多数debian系统中都可以采用这种方式进行安装。其实在树莓派中build-essential已经默认安装,但是cmake等其他内容仍需要手动安装。
sudo apt-get install build-essential
sudo apt-get install cmake
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
sudo apt-get install python-dev python-numpy
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev
2.获得源代码
在树莓派用户目录中建立opencv文件夹
mkdir opencv
通过sourceforge网站获取opencv源代码,本文选择2.4.9版本。下载过程可能比较缓慢,请耐心等待。
wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/opencv-2.4.9.zip/download opencv-2.4.9.zip
解压源代码,获得一个名为opencv-2.4.9的文件夹
unzip opencv-2.4.9.zip
3.编译源代码
进入opencv源代码目录,在该目录中新建一个名为release的文件夹。
cd ~/opencv/opencv-2.4.9
mkdir release
cd release
使用cmake工具在该文件夹中生成makefile文件,指定opencv的安装目录为/usr/local,opencv的源代码位于上一层目录。
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
编译源代码并安装(编译源代码的时间非常的长,make之后我便睡去,第二天早上才执行install)
sudo make install
更新搜索动态链接库
sudo ldconfig
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!三傻大闹宝莱坞——追求卓越
树莓派学习笔记——apt方式安装opencv
本文介绍如何在树莓派中通过apt方式安装opencv,并通过一个简单的例子说明如何使用opencv。相比于源代码方式安装opencv,通过apt方式安装过程步骤简单些,消耗的时间也少一些。通过apt方式安装没有自动生成opencv.pc文件,所以在编写makefile文件时不能直接使用pkg-config工具,而需要逐个指定opencv_core、opencv_imgproc等动态链接库。
【相关博文】
更多内容请参考——【】1.安装opencv
开始之前进行必要的更新工作。sudo apt-get update
安装opencv。sudo apt-get install libcv-dev
安装过程比较缓慢,请耐心等待。
安装完成之后,opencv相关的头文件被安装到/usr/lib目录中,该目录是linux默认头文件查找路径。opencv的相关动态链接库被安装到/usr/lib目录中。这些动态链接库包括:【opencv_calib3d】——相机校准和三维重建【opencv_core】——核心模块,绘图和其他辅助功能【opencv_features2d】——二维特征检测【opencv_flann】——快速最邻近搜索【opencv_highgui】——GUI用户界面【opencv_imgproc】——图像处理【opencv_legacy】——废弃部分【opencv_ml】——机器学习模块【opencv_objdetect】——目标检测模块【opencv_ocl】——运用OpenCL加速的计算机视觉组件模块【opencv_video】——视频分析组件
2.简单示例【C++】——通过代码载入一张图片,通过opencv把彩色图片转换为黑白图片,并把原图和转换后的图片输出到屏幕中。#include &opencv2/core/core.hpp&
#include &opencv2/imgproc/imgproc.hpp&
#include &opencv2/highgui/highgui.hpp&
#include &iostream&
int main (int argc, char **argv)
Mat image, image_
image = imread(argv[1], CV_LOAD_IMAGE_COLOR );
if (argc != 2 || !image.data) {
cout && "No image data\n";
return -1;
cvtColor(image, image_gray, CV_RGB2GRAY);
namedWindow("image", CV_WINDOW_AUTOSIZE);
namedWindow("image gray", CV_WINDOW_AUTOSIZE);
imshow("image", image);
imshow("image gray", image_gray);
waitKey(0);
}【makefile】CC = g++
# 可执行文件
TARGET = test
SRCS = test.cpp
# 目标文件
OBJS = $(SRCS:.cpp=.o)
DLIBS = -lopencv_core -lopencv_imgproc -lopencv_highgui
# 链接为可执行文件
$(TARGET):$(OBJS)
$(CC) -o $@ $^ $(DLIBS)
rm -rf $(TARGET) $(OBJS)
# 编译规则 $@代表目标文件 $& 代表第一个依赖文件
$(CC) -o $@ -c $&【简单说明】DLIBS = -lopencv_core -lopencv_imgproc -lopencv_highgui示例中使用了opencv中的核心部分、图像处理部分和GUI部分,所以依次增加opencv_core、opencv_imgproc、opencv_highgui动态链接库。该部分和和【】中的示例稍有不同,前文中的makefile使用LIBS = $(shell pkg-config --libs opencv)引入所有的opencv动态链接库,此处手动指定相关库按需链接。【编译】make【执行】./test raspberry.jpg可执行文件test和raspberry.jpg应在同一个目录中。运行结果如下图所示,说明opencv得以正常运行。图1 运行结果3.总结
通过源代码方式安装opencv更加方便,安装时间也更短。
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!树莓派运行opencv-电子产品世界论坛
树莓派运行opencv
计划要做基于树莓派的视频寻迹,第一步就是让树莓派能够获取摄像头的信息。最为简单的获取usb摄像头信息的办法就是opencv 现成的库。之前有一定的windows下的opencv的开发经验,所以就决定在树莓派上尝试opencv的简单开发。项目本身并不难,主要是让opencv跑起来。
首先给树莓派晒个照:
这个本身连接比较简单,我就连接了电源,HDMI转换器,键盘鼠标(一体),无线网卡,还有一个优盘。
因为没有带HDMI的接口的显示器,所以只能用转接头,买的是淘宝上比较便宜的那种没有外接供电的转接头,并没有出现网上说的烧机器的现象。无线网卡是比较常用的那款,在linux下是免驱的,插上就能用。
交代完了板子再来说下摄像头。我用的是罗技的720P的摄像头,也是免驱的,效果挺好。上一张照片:
接着就是尝试安装opencv了。基本上网上常见的讲安装opencv的方法共有两个,分别是命令行安装:
sudo apt-get
sudo apt-get
install libopencv-dev
但是我尝试在树莓派推荐的系统 Raspbian中安装提示安装包不存在,我又尝试修改了软件源,安装包还是不存在。。。
好吧,还有另一种安装途径:下载源码自己编译。我之间搭arm的开发环境的时候交叉编译过opencv,这种编译不过,这种揪心。但是抱着侥幸心理,我还是试了试,但是当程序只编译3%就报错时,我果断放弃了。
上官网看看有没有其他好的系统可以选,我就找到了ubuntu mate 。因为最近在做深度学习,倒腾了很久的ubuntu,对其有很高的好感度,所以果断的选择了ubuntu。去官网下载了系统,烧录sd卡,开机。
感觉上ubuntu mate比Raspbian稍微多吃一点资源,但是与其优势对比这点缺点可以忽略。
在ubuntu上顺利安装了opencv,但是在写程序编译的时候又有新的问题,就是我写的测试程序就是编译不过。后来在nanopi2的官网wiki上看到了一个opencv的测试程序,编译通过了,程序如下:
#include "opencv2/opencv.hpp"
int main(int, char**)
VideoCapture cap(0); // open the default camera
if(!cap.isOpened())
// check if we succeeded
return -1;
namedWindow("edges",1);
cap && // get a new frame from camera
cvtColor(frame, edges, CV_BGR2GRAY);
GaussianBlur(edges, edges, Size(7,7), 1.5, 1.5);
Canny(edges, edges, 0, 30, 3);
imshow("edges", edges);
if(waitKey(30) &= 0)
// the camera will be deinitialized automatically in VideoCapture destructor
编译命令为:
g++ test.cpp -o test -lopencv_core -lopencv_highgui -lopencv_imgproc
最终的效果图如下:
之前opencv编译不过应该是依赖库没有加全。
在opencv 编译不过的情况下,我又找了其他的调用摄像头的方法,找到一个比较好用的,如下:
这是一个利用python调用摄像头的方法,作者是做机器人的,所以对树莓派的gpio,i2c也多了自己的封装,这里用不到,只装了他的摄像头的库,运行良好,贴图:
具体操作步骤不在细述,可以直接看网页。
至此,摄像头方便的准备已经做好,下期介绍树莓派与小车底盘之间的连接。
opencV好强大的说
这个很棒,学习了!
楼主是个攻城狮霸
open c v,很强大
匿名不能发帖!请先 [
Copyright (C) 《电子产品世界》杂志社 版权所有IT菜鸟之家
(初学树莓派香蕉派心得)利用opencv简单控制摄像头,做一些基本图像处理
  OpenCV简介:opencv是一个开源的计算机视觉库,是英特尔公司资助的两大图像处理利器之一。它为图像处理、模式识别、三维重建、物体跟踪、机器学习和线性代数提供了各种各样的算法。(扩展阅读)
  其实安装与使用OpenCV库非常简单,平常做图像处理算法处理的时候大家经常习惯用MATLAB,虽然MATLAB具有强大的工具箱,但是无法达到实时的效果,这一点小编一点也不喜欢,在这篇文章中,我将使用Banana Pi M2U与树莓派来演示安装OpenCV库与运行使用OpenCV库编写的程序。小编的这两块板子均移植的是Linux操作系统。(什么?没学过linux? …… 哎,那也不用慌张,这里只用到了一些基本的Linux指令,大家在有看不懂指令的时候可百度一下)。首先我们来看下环境配置,(等一下,小编,我也没学过ARM,没有硬件基础)其实在这里大家完全不用操心,我们根本没用到硬件知识,此时的香蕉派与树莓派只是相当于一个小电脑。
(1)树莓派或者香蕉派(已经移植完linux操作系统,关于如何在电脑上linux系统移植及配置opencv ,小编会在后续的帖子中提到)
(2)USB摄像头一个
准备好硬件资源以后,我们即刻开始(注意,我这里是移植的是2.4.9版本,不同版本略有区别)
下载与安装:
在安装OpenCV库之前,我们需要更新一下软件源:
sudo apt-get update
然后开始安装OpenCV库:
2、sudo apt-get install libcv-dev
做到这一步的时候我们可以暂时去喝口水,耐心的等待一会儿,等到安装完成。我们就可以开始来写第一个程序了。
其实使用OpenCV库,会使代码更容易阅读,更加整洁,根本不再需要重复造轮子!小编个人极其喜欢偷懒,经过简化之后,大概十余行即可打开摄像头。
#include &opencv2/highgui/highgui.hpp&
#include &opencv2/core/core.hpp&
using namespace
int main()
VideoCapture cap(0);
if(!cap.isOpened())
return -1;
imshow("Xiaorun OpenCV CAM", frame);
if(waitKey(20) &=0) break;
  就这样我们就编写完了一个打开摄像头的程序,将以上代码保存为xiaorun.cpp,并在shell敲一下它g++ -o xiaorun ./xiaorun.cpp -lopencv_core -lopencv_highgui
  编译完之后不出意外的话应该没有错误,我们会在当前目录下看到一个可执行文件,xiaorun,我们运行一下
./ xiaorun
dang 这时候屏幕就可以看到摄像头里的图像了,小编颜值不高,在这里就不挂出自拍了。
  上面的例子已经成功将摄像头的图像显示在屏幕上,不过这还不够炫酷~,完全不能让小编玩high.接下来我想在上述的空白处添加三行代码,以实现可实现实时的边缘检测
#include &opencv2/highgui/highgui.hpp&
#include &opencv2/core/core.hpp&
#include &opencv2/imgproc/imgproc.hpp&
using namespace
int main()
VideoCapture cap(0);
if(!cap.isOpened())return -1;
Mat frame,
cvtColor(frame,edges,CV_BGR2GRAY);
Canny(edges,edges,3,9,3);
imshow("Xiaorun OpenCV Canny", edges);
if(waitKey(20) &=0) break;
同样 ,我们保存为xiaoruncanny.cpp ,编译一下
g++ -o xiaoruncanny ./xiaorun.cpp -lopencv_core -lopencv_highgui -lopencv_imgproc
当然木有错误了,只是稍稍加一个头文件和三行代码,OK,运行一下吧
./ xiaoruncanny
  机器视觉是人工智能正在快速发展的一个分支。简单说来,机器视觉就是用机器代替人眼来做测量和判断。OpenCV的更多例子大家可以在网上找到~OpenCV可以应用在各种场合,例如跟踪小车,人脸识别等,小编在此仅抛砖引玉,此处只有一个基本框架,大家可以参考,自行编写算法,玩的更High~
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!}

我要回帖

更多关于 树莓派 opencv 摄像头 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信