版主: wanchong , wangyu , eepwwp , firedom |
lj1209
最后登陆时间:2015-09-29 15:56:36 |
1.在Intel社区中下载最新的OS镜像更新你的主板
输入reboot ota 回车进行系统升级
2.使用Opkg安装opencv包
2.1 AlexT 介绍了一中方法 通过opkg连接他自己的 repo .(上一篇Intel Edison 使用opkg 安装cmake 中讲了如何配置 edison (Intel Edison使用opkg安装应用 cmake)
Edison 的opkg的宝库 (AlexT)
http://repo.opkg.net/edison/repo/
2.2 在putty 中运行 "opkg install opencv-dev"
这样在edison上opencv的环境基本算搭建完成。
3.装uvc 视频核模块。在putty中运行" opkg install kernel-module-uvcvideo " (进入putty 的步骤你需要看前面的快速开始指南)
(值得注意的是早期的镜像为yocto1.6 里面是没有ucv 模块的,而最新发布的yocto1.6.1 里面是含有ucv 模块的,这里是不要装uvcvideo 模块 的,如果装了ucv 模块,系统会显示没有足够的磁盘空间了。。。intel 真是深坑啊!!! )
4.找到一个网络摄像头(webcam),摄像头是支持uvcvideo 模块的。(其中之一 UVC Linux 驱动程序和工具)
5.将摄像头连接到edison 大的USB 口,靠近电源连接器,确保它附近的机械开关拨向USB口这端。(这是arduino 扩展板)
连接好摄像头之后,运行在putty中运行 "modprobe uvcvideo" 载入指定的uvc 模块和ucv 相依的关系,然后 “lsmod” 系统会显示 目前已经存在于内核中的模块,如果看到下面的显示说明ucv模块成功了。
6.写一个opencv 的程序 。不要用到了GUI,因为Edison上的版本没有GUI支持,把代码中所有跟窗口有关的都注释掉,反正在Edison没用,用了也报错(感谢秋纫大神)
下面是我自己写的一个简单程序 (我将它保存为lanfeng.cpp):
#include <stdio.h>
#include <iostream>
#include "opencv2/opencv.hpp"
#include "opencv2/core/core.hpp"
#include "opencv2/video/background_segm.hpp"
#include "opencv2/imgproc/imgproc_c.h"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/legacy/legacy.hpp"
#include "opencv2/video/tracking.hpp"
#include "opencv2/photo/photo.hpp"
using namespace std;
int main()
{
IplImage *frame = NULL;
int num = 0;
int key;
CvCapture *input_camera = cvCaptureFromCAM(-1);
frame = cvQueryFrame(input_camera);
while(frame != NULL)
{
num++;
cout<<"i see u "<<endl;
frame = cvQueryFrame(input_camera);
if(num ==10)
{
cvSaveImage("lanfeng.png",frame);
}
}
cvReleaseCapture(&input_camera);
return 0;
}
使用winscp在 /home/root 中新建一个文件夹 opencv (使用winscp的方法参考 社区中[url=http://www.arduino.cn/thread-9054-1-1.html]Edison升级_与编程环境的搭建 Eclipse 篇[/url],这篇文章) 将刚刚写好的lanfeng.cpp 复制到/home/root/opencv 中。 7. 在edison上直接编译。 在putty 中 "cd /home/root/opencv " 进入程序所在文件夹 (working directory) 编译文件”g++ lanfeng.cpp -o lanfeng -lopencv_core -lopencv_highgui -lopencv_video“ 如果不报错,说明编译成功 这里我使用 编译选项只加了core和highgui 和video三个模块以后用到opencv的其它模块,就相应加上编译选项行了 这里我使用”g++ lanfeng.cpp -o lanfeng `pkg-config --cflags --libs opencv`“ 编译失败了,存在一个问题。 编译成功后,运行程序 ( in the working directory ): ” ./lanfeng “ 将摄像头插入usb插口的时候可以 ”dmesg -c“ 看看内核是否发现你的设备。 运行成功之后可以看到在 /home/root/opencv 中新增一张 ”lanfeng.png“ 图片。
到这里在edison上跑opencv的简单程序结束。 |
|
|
woaiwei
最后登陆时间:2015-01-14 10:55:32 |
机械工程小白默默路过。
|
zhengdongran
最后登陆时间:2015-01-14 11:03:27 |
很不错的经验贴。赞
|
13930862386
最后登陆时间:2015-01-14 11:09:35 |
好好学习,板子做的好
|
wuzebang
最后登陆时间:2015-01-14 10:40:03 |
机械工程小白默默路过。
|
共8条 1/1 1 |