【问题标题】:Python: Access camera WITHOUT OpenCVPython:在没有 OpenCV 的情况下访问相机
【发布时间】:2016-08-17 17:41:23
【问题描述】:

同志们,

我想用 Python 从笔记本电脑的摄像头捕捉图像。目前所有迹象都指向 OpenCV。问题是 OpenCV 安装起来是一场噩梦,每次在新系统上重新安装代码时,它都会再次发生。

有没有更轻量级的方式在 Python 中捕获相机数据?我正在寻找具有以下效果的东西:

$ pip install something
$ python
>>> import something
>>> im = something.get_camera_image()

我使用的是 Mac,但欢迎使用任何平台的解决方案。

【问题讨论】:

标签: python macos camera


【解决方案1】:

我在使用 pygame 之前已经这样做了。但是我似乎找不到我使用的脚本......似乎有一个教程here使用本机相机模块并且不依赖于OpenCV。

试试这个:

import pygame
import pygame.camera
from pygame.locals import *

pygame.init()
pygame.camera.init()

cam = pygame.camera.Camera("/path/to/camera",(640,480))
cam.start()

image = cam.get_image()

如果您不知道摄像头的路径,您还可以获取所有可用的列表,其中应包括您的笔记本电脑网络摄像头:

camlist = pygame.camera.list_cameras()
    if camlist:
        cam = pygame.camera.Camera(camlist[0],(640,480))

【讨论】:

  • 有趣,尝试编辑的答案。将导入更改为教程所写的内容。
  • 还是一样,但这可能与我没有正确安装pygame有关。
【解决方案2】:

作为the documentation states,目前pygame.camera 仅支持linux 和v4l2 摄像头,因此这不适用于macOS。相反,在 Linux 上它可以正常工作。

【讨论】:

    【解决方案3】:

    您可以使用 pyavfcam github。您需要先安装 xcode 和 cython。这是官方演示。

    import pyavfcam
    
    # Open the default video source
    cam = pyavfcam.AVFCam(sinks='image')
    cam.snap_picture('test.jpg')
    
    print "Saved test.jpg (Size: " + str(cam.shape[0]) + " x " + str(cam.shape[1]) + ")"
    

    【讨论】:

      【解决方案4】:

      Windows 视频捕捉

      我过去使用过videocapture,非常完美:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多