2016-07-25 15 views
0

Мне никогда не приходилось работать с камерой раньше, поэтому я не знаю с чего начать. Мне нужно отобразить изображение камеры реального времени, захватить и сохранить в файл. Я использую python3 и gtk3.Как показать изображение с веб-камеры

У gtk есть какие-то признаки этого?

+0

Я использовал opencv в прошлом –

+0

OpenCV? Вау! Что-то проще? –

+0

Это единственный инструмент, который я когда-либо использовал, который я знаю и могу читать с веб-камеры. Это [довольно просто] (http://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_gui/py_video_display/py_video_display.html#capture-video-from-camera) –

ответ

1

Самый простой способ получить изображение с веб-камеры - использовать OpenCV. Это позволяет получить изображение с помощью всего 2 строк кода и 2 больше, чтобы показать это, например, так:

import numpy as np 
import cv2 

cap = cv2.VideoCapture(0) 
ret, frame = cap.read() 

cv2.imshow('frame',frame) 
cv2.waitKey(0) 

Но есть и обратная сторона, а именно, что OpenCV для Python 3 должен быть строить из источника. Большинство людей не любят строить из источника, поэтому говорят, что они недоступны.

К счастью, есть Unofficial Windows Binaries for Python Extension Packages by Gohlke (University of California), который также предлагает предварительно скомпилированную версию OpenCV для Python 3. Установка того, что с использованием pip должна быть простой.

+0

В другом форуме кто-то предложил gstreamer. Который лучший? –

+0

Я лично предпочитаю OpenCV, потому что он просто дает вам фреймы, и вы можете решить, что с ним делать. Мой опыт работы с GStreamer заключается в том, что он более сложный, но иногда более мощный. Я думаю, это действительно зависит от того, что вы хотите с этим делать. – B8vrede

+0

Что является обнадеживающим для использования gstreamer, так это то, что оно основано на gobjects. И поскольку я использую GTK +, интеграция будет проще. Я полагаю. Но ему кажется, что это действительно сложно. –