当前位置: 首页 > 面试题库 >

使用Java或Python从我的网络摄像头捕获单个图像

阚砚文
2023-03-14
问题内容

我想从网络摄像头捕获单个图像并将其保存到磁盘。我想用Java或Python(最好是Java)做到这一点。我想要在64位Win7和32位Linux上都可以使用的东西。

编辑:我使用Python 3.x,而不是2.x

因为在其他地方我都看到这个问题,使人们设法感到困惑,所以我将明确说明一些事情:

  • 我不想使用处理
  • 除上述语言外,我不想使用任何其他语言
  • 我确实想以任何方式,形状或形式在屏幕上显示此图像
  • 我不想在屏幕上显示网络摄像头的实时视频供稿,也不想将其保存到硬盘中
  • Java Media Framework太过时了。不建议。
  • 我宁愿不使用JavaCV,但如果绝对需要,我想确切地知道我需要OpenCV库中的哪些文件,以及如何在不包括整个库的情况下使用这些文件(最好不要将这些文件粘贴在任何形式的文件中)。 PATH。所有内容都应包含在一个目录中)
  • 如果需要,我可以在64位Win7计算机上使用Eclipse,但是我还必须能够在32位Linux上进行编译和使用
  • 如果您认为我可能会或可能不会以某种方式了解与该主题相关的任何事物,请假设我不知道,然后告诉我

EDIT2:我能够使用Froyo的pygame示例在Linux上使用Python 2.7和pygame
1.9.1进行工作。pygame.camera.camera_list()调用不起作用,但是在本示例的其余部分中没有必要。但是,我必须调用cam.set_controls()(有关该文档,您可以在http://www.pygame.org/docs/ref/camera.html上找到该文档)来提高亮度,以便我实际上可以在我捕获的图像。

另外,我需要调用cam.get_image()和pygame.image.save()方法三遍,然后才能保存我原本在第一对调用中拍摄的图像。它们似乎卡在了一个奇怪的缓冲区中。基本上,不是一次调用cam.get_image(),而是每次想要捕获图像时,都必须调用它三次。然后直到那时我才调用pygame.image.save()。

不幸的是,如下所述,仅Linux支持pygame.camera。我仍然没有Windows的解决方案。


问题答案:

在Windows上,可以使用pygame与您的网络摄像头轻松交互:

from VideoCapture import Device
cam = Device()
cam.saveSnapshot('image.jpg')

我没有尝试在Linux上使用pygame(我所有的Linux
boxen都是不带X的服务器),但是此链接可能会有所帮助http://www.jperla.com/blog/post/capturing-frames-
from-a-webcam-在Linux上



 类似资料:
  • 问题内容: 如何连续从摄像头捕获图像? 我想尝试对象识别(也许使用Java Media Framework)。 我当时正在考虑创建两个线程 一个线程: 节点1:捕获实时图像 节点2:将图片另存为“ 1.jpg” 节点3:等待5秒 节点4:重复… 其他线程: 节点1:等到捕获图像 节点2:使用“ 1.jpg”获取每个像素的颜色 节点3:将数据保存在数组中 节点4:重复… 问题答案: 此JavaCV实

  • 我正在开发一个web应用程序,它可以浏览和拍摄本地照片,我还想通过相机拍摄图像。我使用下面的代码,我可以捕捉设备摄像头。 现在,我想获得图像和onchangeevent,转换为base64,并希望在该页面中显示。 好心帮我伙计们!

  • 问题内容: 我想从Python访问我的网络摄像头。 我尝试使用VideoCapture扩展(教程),但对我而言效果不佳,我不得不解决一些问题,例如分辨率> 320x230时它有点慢,有时它返回时没有明显原因。 是否有更好的方法从Python访问我的网络摄像头? 问题答案: OpenCV支持从网络摄像头获取数据,并且默认情况下随附Python包装器,您还需要安装OpenCV Python扩展名(称为

  • 问题内容: 我有一个手势识别项目。我想知道如何使用C#或Java对其进行编程?有什么特别的图书馆吗?我需要编程还是需要特殊的设备而不是摄像头? 问题答案: 您看过OpenCV吗? OpenCV(开源计算机视觉)是用于实时计算机视觉的编程功能库。 OpenCV库的示例应用程序是人机交互(HCI);对象识别,分割和识别;人脸识别; 手势识别;摄像机和运动跟踪,自我运动,运动理解;运动结构(SFM);立

  • OpenCV无法在Linux上打开超过8个网络摄像头的视频捕获。这里有一个简单的例子: 对于我的设置(OpenCV 2.4.11,Ubuntu 14.04),比如说,有9个网络摄像头,opencap。py在前8个摄像头(0-7个)中成功,但在最后一个摄像头中成功 注意:正确列出了9个网络摄像头(/dev/video0、/dev/video8)。

  • 问题内容: 我一直在尝试使用Python创建一个简单的程序,该程序使用OpenCV从我的网络摄像头获取视频供稿并将其显示在屏幕上。 我知道我之所以在这里,是因为创建了窗口,并且网络摄像头上的灯闪烁了,但是它似乎在窗口中什么都没有显示。希望有人可以解释我在做什么错。 在不相关的注释上,我注意到我的网络摄像头有时会在中更改其索引号,有时我需要输入0、1或2,即使我只连接了一个摄像头,也没有拔下插头(我