Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 22, 2011 23:48:57

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Помогите разобраться с videocapture

у меня подключено 2 камеры , исходя из примера на сайте http://videocapture.sourceforge.net/ можно понять что:

from VideoCapture import Device

cam = Device()
cam.saveSnapshot('image.jpg')
Однако у меня 2 камеры и их надо подключить, зашел на http://videocapture.sourceforge.net/html/VideoCapture.html , там в описании не написано как отключить одну камеру и подключить другую. Если кто сталкивался подскажите куда копать…

Офлайн

#2 Июнь 22, 2011 23:53:57

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Помогите разобраться с videocapture

точнее там есть описание класса __init__ и пункт

__init__(self, devnum=0, showVideoWindow=0)
devnum: VideoCapture enumerates the available video capture devices
on your system. If you have more than one device, specify
the desired one here. The device number starts from 0.

showVideoWindow: 0 ... do not display a video window (the default)
1 ... display a video window

Mainly used for debugging, since the video window
can not be closed or moved around.
не могу понять что сделать чтоб камера менялась

Офлайн

#3 Июнь 23, 2011 00:04:49

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Помогите разобраться с videocapture

всем спасибо :)

>>> cam = Device(devnum=1)
>>> cam.saveSnapshot('image1.jpg')
>>> cam = Device(devnum=0)
>>> cam.saveSnapshot('image0.jpg')

Офлайн

#4 Июнь 25, 2011 13:45:32

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Помогите разобраться с videocapture

from VideoCapture import Device
import datetime, os

camers = 2
director = "F:\\cam\\"
start = 1

while(start > 0):
#####
try:
os.makedirs(director + str(datetime.datetime.now().strftime("%d%B%Y")))
except OSError:
pass
#####
####

for i in range(camers):
cam = Device(devnum=i)
cam.setResolution(1024, 768)
cam.saveSnapshot(director + str(datetime.datetime.now().strftime("%d%B%Y")) + "\\" + "cam" + str(i) + "-" + str(datetime.datetime.now().strftime("%H-%M-%S")) + '.jpg')
####

Отредактировано (Июнь 25, 2011 13:46:34)

Офлайн

#5 Июнь 25, 2011 16:40:17

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Помогите разобраться с videocapture

только что то вылетает программа , надо походу смотреть чтоб проверял запущенный процесс или в БД кидать :)

Офлайн

#6 Июль 7, 2011 23:20:10

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Помогите разобраться с videocapture

# -*- coding: utf-8 -*-
#! /usr/bin/env python

from VideoCapture import Device
import datetime, os
import win32serviceutil
import win32service
import win32event
import servicemanager


camers = 2
director = "F:\\cam\\"
start = 1

class AppServerSvc (win32serviceutil.ServiceFramework):
_svc_name_ = "web_cam_Service"
_svc_display_name_ = "web_cam_Service"
_svc_description_ = "web_cam_Service"

def __init__(self,args):
win32serviceutil.ServiceFramework.__init__(self,args)
self.hWaitStop = win32event.CreateEvent(None,0,0,None)
self.hWaitResume = win32event.CreateEvent(None, 0, 0, None)
self.timeout = 10 #Пауза между выполнением основного цикла службы в миллисекундах
self.resumeTimeout = 10
self._paused = False

def SvcStop(self):
self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
win32event.SetEvent(self.hWaitStop)
servicemanager.LogMsg(servicemanager.EVENTLOG_INFORMATION_TYPE,
servicemanager.PYS_SERVICE_STOPPED,
(self._svc_name_, ''))

def SvcPause(self):
self.ReportServiceStatus(win32service.SERVICE_PAUSE_PENDING)
self._paused = True
self.ReportServiceStatus(win32service.SERVICE_PAUSED)
servicemanager.LogInfoMsg("The %s service has paused." % (self._svc_name_, ))

def SvcContinue(self):
self.ReportServiceStatus(win32service.SERVICE_CONTINUE_PENDING)
win32event.SetEvent(self.hWaitResume)
self.ReportServiceStatus(win32service.SERVICE_RUNNING)
servicemanager.LogInfoMsg("The %s service has resumed." % (self._svc_name_, ))

def SvcDoRun(self):
servicemanager.LogMsg(servicemanager.EVENTLOG_INFORMATION_TYPE,
servicemanager.PYS_SERVICE_STARTED,
(self._svc_name_,''))
self.main()

#В этом методе реализовываем нашу службу
def main(self):
#Здесь выполняем необходимые действия при старте службы
servicemanager.LogInfoMsg("Hello! I'm a web_cam Service.")
while True:
#Здесь должен находиться основной код сервиса
servicemanager.LogInfoMsg("I'm still here.")
##############################

try:
os.makedirs(director + str(datetime.datetime.now().strftime("%d%B%Y")))
except OSError:
pass
#####
####

for i in xrange(camers):
cam = Device(devnum=i)
cam.setResolution(1024, 768)
cam.saveSnapshot(director + str(datetime.datetime.now().strftime("%d%B%Y")) + "\\" + "cam" + str(i) + "-" + str(datetime.datetime.now().strftime("%H-%M-%S")) + '.jpg')
##############################
#Проверяем не поступила ли команда завершения работы службы
rc = win32event.WaitForSingleObject(self.hWaitStop, self.timeout)
if rc == win32event.WAIT_OBJECT_0:
#Здесь выполняем необходимые действия при остановке службы
servicemanager.LogInfoMsg("Bye!")
break

#Здесь выполняем необходимые действия при приостановке службы
if self._paused:
servicemanager.LogInfoMsg("I'm paused... Keep waiting...")
#Приостановка работы службы
while self._paused:
#Проверям не поступила ли команда возобновления работы службы
rc = win32event.WaitForSingleObject(self.hWaitResume, self.resumeTimeout)
if rc == win32event.WAIT_OBJECT_0:
self._paused = False
#Здесь выполняем необходимые действия при возобновлении работы службы
servicemanager.LogInfoMsg("Yeah! Let's continue!")
break

if __name__ == '__main__':
win32serviceutil.HandleCommandLine(AppServerSvc)
запись в сервис не помогло

Офлайн

#7 Июнь 9, 2012 12:43:40

med_phisiker
Зарегистрирован: 2012-04-08
Сообщения: 33
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите разобраться с videocapture

Здравствуйте, подскажите пожалуйста как сделать так чтобы окно которое показывает видео ( у меня с веб-камеры ноутбука) всегда появлялось в определенном месте (можно было указать точные координаты на экане), и было поверх всех окон. Какими свойствами или методами это управляется?
Заранее спасибо

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version