狗趴(GodPub),开源硬件学习与实践

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 11125|回复: 2
打印 上一主题 下一主题

【JoyTag M1+学习】M1+ 使用OpenCV(一)安装&第一个程序

[复制链接]

84

主题

143

帖子

725

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
725
QQ
跳转到指定楼层
楼主
发表于 2015-7-14 21:29:56 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
原文信息

标题:【JoyTag M1+学习】M1+ 使用OpenCV(一)安装&第一个程序
连接:http://forum.godpub.com/thread-107-1-1.html
备注:狗趴论坛首发,转载请注明出处。


简介

OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

本文仅仅做一些尝试。


安装

在BananaPi M1+上安装OpenCV很简单,只需执行以下指令。
  1. sudo apt-get install libcv-dev
复制代码


捕获摄像头图像并显示

在之前的文章中,《【JoyTag M1+学习】M1+ 使用USB摄像头》
我们已经测试了如何使用USB摄像头,以及使用luvcview以及MPlayer查看视频图像。

这里我们通过OpenCV用编程的方法测试捕获摄像头图像并显示。
程序如下:
  1.     #include <opencv2/highgui/highgui.hpp>
  2.     #include <opencv2/core/core.hpp>
  3.     using namespace cv;

  4.     int main()
  5.     {
  6.         VideoCapture cap(0);
  7.         if(!cap.isOpened())
  8.         {
  9.             return -1;
  10.         }
  11.         Mat frame;
  12.         Mat edges;

  13.         bool stop = false;
  14.         while(!stop)
  15.         {
  16.             cap>>frame;
  17.             imshow("http://www.godpub.com", frame);
  18.             if(waitKey(20) >=0)
  19.                 stop = true;
  20.         }
  21.         return 0;
  22.     }
复制代码

编译命令:
  1. g++ -o cap cap.cpp  -lopencv_core -lopencv_highgui
复制代码
或者
  1. gcc -o cap cap.cpp  -lopencv_core -lopencv_highgui -lstdc++
复制代码

使用gcc编译时如果不加-lstdc++会出现类似下边的错误。
/usr/bin/ld: /tmp/cctFjqoa.o: undefined reference to symbol '__cxa_end_cleanup@@CXXABI_1.3'
//usr/lib/arm-linux-gnueabihf/libstdc++.so.6: error adding symbols: DSO missing from command line
collect2: ld returned 1 exit status

参考:http://choorucode.com/2014/05/02 ... ?utm_source=tuicool


运行效果
在VNC窗口执行,效果如下:


在图像窗口上按任意按键,程序退出。
请忽略窗口的提示内容,我也不知道是啥,如果你知道,烦请告知。

(为了操作更快速,我将VNC的色深设置为8)
详情参考:
【JoyTag M1+学习】M1+ 使用VNC


总结

本文使用apt-get的方式在BananaPi M1+上安装OpenCV,并使用C++编写了一个简单的程序获取摄像头图像。
谨以本文抛砖引玉,希望大家折腾出更好玩的东西。

后续更多精彩内容,请关注狗趴论坛:http://www.godpub.com

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
天理路上甚宽,稍游心,胸中便觉广大宏朗;
人欲路上甚窄,才寄迹,眼前俱是荆棘泥涂。

0

主题

1

帖子

14

积分

新手上路

Rank: 1

积分
14
沙发
发表于 2015-10-9 13:56:51 | 只看该作者
楼主,你这装的是那个镜像?

84

主题

143

帖子

725

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
725
QQ
板凳
 楼主| 发表于 2015-10-22 17:31:49 | 只看该作者
浏览者 发表于 2015-10-9 13:56
楼主,你这装的是那个镜像?

乐美客的官网下载了BananapiPro的镜像
天理路上甚宽,稍游心,胸中便觉广大宏朗;
人欲路上甚窄,才寄迹,眼前俱是荆棘泥涂。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|狗趴(GodPub) Arduino&Raspberry Pi开源硬件学习与实践[QQ群:20085629]  

GMT+8, 2024-4-19 11:10 , Processed in 0.046771 second(s), 37 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表