CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 20954|回复: 9

让CubieBoard连接摄像头(Ubuntu系统)

[复制链接]
发表于 2013-4-14 22:29:51 | 显示全部楼层 |阅读模式
本帖最后由 tll 于 2013-7-14 08:21 编辑

效果:

论坛上已经有人发了(http://cn.cubieboard.org/forum.php?mod=viewthread&tid=283),不过不是在Ubuntu上,命令也不同,上面写的yum改apt-get找不到包
咋办?!
系统最好使用cubie官方的1.1版本系统,地址dl.cubieboard.com(第三方固件需要安装python-numpy,用apt-get)
其实弄这个不难,首先运行:
  1. sudo apt-get install python-opencv -y
复制代码
等待安装完成,插入usb摄像头
接着,复制camera.py文件到根目录
下载: camera.zip (376 Bytes, 下载次数: 98)
确定/dev/video0是你的摄像头,如果你的摄像头是video1之类的,请修改camera.py,把

  1. capture = cv.CaptureFromCAM(0)
复制代码
改成

  1. capture = cv.CaptureFromCAM(1)
复制代码
然后
  1. chmod +x /camera.py
  2. /camera.py
复制代码
提示:上面这个命令不要在SSH或TTL里运行,因为这个没屏幕
然后你会发现一个叫camera的窗口跳出来了~~

注释:有人说用这个会卡,CPU占用率飙升,我告诉大家原因,不是软件不好,而是循环
我们打开py文件,一段代码如下:

  1. while True:
  2.     img = cv.QueryFrame(capture)
  3.     cv.ShowImage("camera", img)
复制代码
这个py用while循环去获取图片,而while循环去做这种动作必定会造成卡的现象,所以大家可以换成定时之类的,如0.5秒一次,这样就好了

现在摄像头的图像就显示到了板子上,唯一的缺点就是usb口太少了,一下只能插摄像头+键盘或鼠标
大家可以买集线器,1对4的,这样就好多了

评分

参与人数 1威望 +5 金钱 +5 贡献 +5 收起 理由
yzbx + 5 + 5 + 5 很给力!

查看全部评分

回复

使用道具 举报

发表于 2013-5-21 11:05:52 | 显示全部楼层
楼主你好!我按照你的方法在cubieboard上做了一遍,我的系统是按照《从零构建CubieBoard Debian Linux》的文章弄的debian系统,但是运行出现了Gtk-WARNING **: cannot open display:错误?请问楼主遇到过没啊??
回复 支持 反对

使用道具 举报

发表于 2013-5-21 11:10:32 | 显示全部楼层
这个要在X下面跑的
回复 支持 反对

使用道具 举报

发表于 2013-8-16 18:01:02 | 显示全部楼层
camera.py 有个地方缩进有误,在16行“break”
正确的是
  1. if cv.WaitKey(10) == 27:
  2.                 print "Exit"
  3.                 break

  4. cv.DestroyAllWindows()
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-17 12:28:15 | 显示全部楼层
darson 发表于 2013-8-16 18:01
camera.py 有个地方缩进有误,在16行“break”
正确的是

不知道是不是有,cv好久没看了
回复 支持 反对

使用道具 举报

发表于 2013-8-21 14:33:59 | 显示全部楼层
本帖最后由 yzbx 于 2013-8-21 14:36 编辑

确实有缩进有点小问题,没学过python,但前后再次用控制变量法试出了正确的代码。
  1. #!/usr/bin/python

  2. import cv2.cv as cv
  3. import time
  4. print "Camera Test by TLL"
  5. print "Please use this program on your Terminal Emulator,not SSH or TLL"
  6. cv.NamedWindow("camera", 1)

  7. capture = cv.CaptureFromCAM(0)

  8. while True:
  9.     img = cv.QueryFrame(capture)
  10.     cv.ShowImage("camera", img)
  11.     if cv.WaitKey(10) == 27:
  12.             print "Exit"
  13.             break
  14. cv.DestroyAllWindows();
复制代码
记得上次我不是这样改的,真后悔当初删了,害得现在要重试。
上传格式出了问题。还是上传文件好。
百度云链接:http://pan.baidu.com/share/link?shareid=1500949147&uk=4263399593

camera.py.zip

373 Bytes, 下载次数: 8, 下载积分: 金钱 -1

回复 支持 反对

使用道具 举报

发表于 2013-8-23 17:08:48 | 显示全部楼层
cb2采集到的图像能不能传送给电脑显示呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-23 19:06:48 | 显示全部楼层
robby 发表于 2013-8-23 17:08
cb2采集到的图像能不能传送给电脑显示呢?

当然可以了,为什么不行
回复 支持 反对

使用道具 举报

发表于 2013-8-24 12:18:08 | 显示全部楼层
tll 发表于 2013-8-23 19:06
当然可以了,为什么不行

求大神出新帖教教我
回复 支持 反对

使用道具 举报

发表于 2014-6-7 17:04:12 | 显示全部楼层
为何我的dev下没有video?我是Ubuntu的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区

GMT+8, 2024-11-1 08:08 , Processed in 0.026998 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部