安装pygame产生窗口用,cv获取摄像头图像
$ sudo easy_install pygame
$ sudo apt-get install -y python-opencv
代码如下:
#!/bin/env python # -*- coding:utf-8 -*- # ------------------------------- # Filename: # Revision: # Date: 2012-12-7 # Author: simonzhang # Email: simon-zzm@163.com # Web: www.simonzhang.net # ------------------------------- import pygame import cv pygame.init() size = width, height = 640, 480 speed = [1, 1] black = 0, 0, 0 pygame.display.set_caption('simonzhag.net') screen = pygame.display.set_mode(size) cam = cv.CreateCameraCapture(0) cv.SetCaptureProperty(cam,cv.CV_CAP_PROP_FRAME_WIDTH, 640) cv.SetCaptureProperty(cam,cv.CV_CAP_PROP_FRAME_HEIGHT, 480); while 1: try: cv.GrabFrame(cam) img = cv.RetrieveFrame(cam) cv.SaveImage('/tmp/test.jpg', img) except: pass cv.WaitKey(1500) image = pygame.image.load('/tmp/test.jpg') screen.blit(image, speed) pygame.display.flip()
如果cv.WaitKey过小或者请求太多会报select timeout。还不知道是摄像头问题、还是我的存储开始class2的问题。图像也经常获取不全,问题还未处理。
也不是所有设想头都可以用。可以使用lsusb查看系统是否识别出usb设备,并且有/dev/video0文件。如果有就应该可以获取。