效果:
http://player.youku.com/player.php/sid/XNTQyODU5NTAw/v.swf
论坛上已经有人发了(http://cn.cubieboard.org/forum.php?mod=viewthread&tid=283),不过不是在Ubuntu上,命令也不同,上面写的yum改apt-get找不到包
咋办?!
系统最好使用cubie官方的1.1版本系统,地址dl.cubieboard.com(第三方固件需要安装python-numpy,用apt-get)
其实弄这个不难,首先运行:
- sudo apt-get install python-opencv -y
复制代码
等待安装完成,插入usb摄像头
接着,复制camera.py文件到根目录
下载: camera.zip (376 Bytes, 下载次数: 55)
确定/dev/video0是你的摄像头,如果你的摄像头是video1之类的,请修改camera.py,把
改成
然后
- chmod +x /camera.py
- /camera.py
复制代码
提示:上面这个命令不要在SSH或TTL里运行,因为这个没屏幕
然后你会发现一个叫camera的窗口跳出来了~~
注释:有人说用这个会卡,CPU占用率飙升,我告诉大家原因,不是软件不好,而是循环
我们打开py文件,一段代码如下:
- while True:
- img = cv.QueryFrame(capture)
- cv.ShowImage(“camera”, img)
复制代码
这个py用while循环去获取图片,而while循环去做这种动作必定会造成卡的现象,所以大家可以换成定时之类的,如0.5秒一次,这样就好了
现在摄像头的图像就显示到了板子上,唯一的缺点就是usb口太少了,一下只能插摄像头+键盘或鼠标
大家可以买集线器,1对4的,这样就好多了
camera.py 有个地方缩进有误,在16行“break”
正确的是
- if cv.WaitKey(10) == 27:
- print “Exit”
- break
- cv.DestroyAllWindows()
复制代码
确实有缩进有点小问题,没学过python,但前后再次用控制变量法试出了正确的代码。
- #!/usr/bin/python
- import cv2.cv as cv
- import time
- print “Camera Test by TLL”
- print “Please use this program on your Terminal Emulator,not SSH or TLL”
- cv.NamedWindow(“camera”, 1)
- capture = cv.CaptureFromCAM(0)
- while True:
- img = cv.QueryFrame(capture)
- cv.ShowImage(“camera”, img)
- if cv.WaitKey(10) == 27:
- print “Exit”
- break
- cv.DestroyAllWindows();
复制代码
记得上次我不是这样改的,真后悔当初删了,害得现在要重试。
上传格式出了问题。还是上传文件好。
百度云链接:http://pan.baidu.com/share/link?shareid=1500949147&uk=4263399593
373 Byte
http://www.ideasonboard.org/uvc/
使用了下,发现不可以,下面是实测可以用的代码,供参考。
#!/usr/bin/python
import cv2.cv as cv
import time
print "Camera Test by TLL"
print "Please use this program on your Terminal Emulator,not SSH or TLL"
cv.NamedWindow("camera", 1)
capture = cv.CaptureFromCAM(1)
while True:
img = cv.QueryFrame(capture)
cv.ShowImage("camera", img)
if cv.WaitKey(10) == 27:
print "Exit"
break
cv.DestroyAllWindows();