首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何以编程方式捕获网络摄像头照片

如何以编程方式捕获网络摄像头照片
EN

Stack Overflow用户
提问于 2012-03-15 07:34:50
回答 2查看 54.1K关注 0票数 20

在Ubuntu 11.10中,以编程方式引导用户(从Bash或Python)捕获自己的网络摄像头照片的最简单方法是什么?

我可以启动一个简单的应用程序,比如Cheese,但我看不到一种简单的方法来立即检测或检索它捕获的照片。我也可以直接通过OpenCV访问和记录摄像头流,但我必须重新发明图形用户界面来与用户交流。

有没有一种合适的脚本,我可以在其中启动它,它会在stdout上打印用户拍摄的图像的文件名?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-15 07:49:46

如果你想通过Python做到这一点,看起来你有几个选择。The Pygame library has the ability to access cameras

如果这不能令人满意,您可以进入更低的级别,使用Python's fcntl library通过ioctl调用直接访问Video 4 Linux 2 API

票数 15
EN

Stack Overflow用户

发布于 2012-03-15 09:31:58

我喜欢使用pygame来实现这一点--它不需要你打开一个Pygame SDL窗口,例如,当你想用它来捕获键盘事件时,它就不同了。

import pygame.camera
pygame.camera.init()
cam = pygame.camera.Camera(pygame.camera.list_cameras()[0])
cam.start()
img = cam.get_image()
import pygame.image
pygame.image.save(img, "photo.bmp")
pygame.camera.quit()

虽然Pygame只会保存未压缩的"bmp“文件,但您可能希望将其与PIL结合使用,以写入其他格式。

票数 39
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9711946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档