2016-08-17 169 views
0

同志,Python:沒有OpenCV的訪問攝像頭

我想從Python筆記本電腦攝像頭捕獲圖像。目前所有跡象都指向OpenCV。問題在於OpenCV是安裝的噩夢,每次在新系統上重新安裝代碼時都會重新出現這種噩夢。

是否有更輕量級的方式來捕捉Python中的相機數據?我正在尋找的東西的效果:

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

我在Mac上,但在任何平臺上的解決方案,歡迎。

+1

http://stackoverflow.com/a/11094891/5008845 – Miki

+0

沒有直接回答到** **沒有,但如果你有安裝OpenCV的問題適用於Windows,你可以嘗試的http://www.lfd.uci .edu /〜gohlke/pythonlibs /#opencv whl二進制包 – Dawid

回答

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)) 
+0

嗯,至少在我pygame安裝我得到'文件「/Library/Python/2.7/site-packages/pygame/camera.py」','線42, in'' 'import _camera' 'ImportError:'camera.init()'行中沒有名爲_camera的模塊。 – Peter

+0

有趣,嘗試編輯答案。將導入更改爲本教程編寫的內容。 – pbreach

+0

仍然一樣,但這可能與我沒有正確安裝pygame有關。 – Peter

0

您可以使用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]) + ")"