uEye камера с питоном на Windows

Мне нужно получитькамера uEye работать спитон на Windows, чтобы делать снимки и работать в прямом эфире.
Поскольку камеры uEye являются широко распространенными промышленными камерами, я бы подумал, что для этого есть стандартное решение; однако я не смог найти ни одного. Решение должно работать под python 2.7 в Windows XP или Windows 7.

Я был бы признателен всем, кто успешно использовал камеру uEye в python для Windows, чтобы поделиться своими знаниями по этому вопросу или, по крайней мере, указать мне правильное направление. Я также чувствую, что действительно необходимо найти общее решение, поскольку наверняка я не единственная с этим требованием.

Что я пробовал до сих пор

(а) пьюай

Eстьдоступен драйвер питона которая работает под Linux и - согласно документации - "должна работать на windows".

Я пробовал это, но установка не удалась:
python setup.py install дает мне

ueye\ueye.pyx: cannot find cimported module 'stdlib'
ueye\ueye.pyx: cannot find cimported module 'python_cobject'
Compiling ueye\ueye.pyx because it changed.
Compiling ueye\ueyeh.pyx because it changed.
[1/2] Cythonizing ueye\ueye.pyx

Я понятия не имею чтоcimported модули есть и должно ли это работать вообще. Поэтому было бы полезно узнать, успешно ли кто-либо установил этот драйвер в системе Windows.

(б) openCV

OpenCV, кажется, является своего рода стандартом для захвата и обработки изображений. Похоже, что некоторые люди использовали его для доступа к камере uEye, в то же время, как представляется, существует определенный консенсус в отношении того, что камеры uEye не работают с openCV. Я не нашел ни одного работающего примера кода.

В любом случае я попробовал это (используя openCV версии 2.4.13), и я могу получить доступ к камере и получить изображение с нее. Разрешение изначально480 x 640, но я могу изменить его на разрешение датчика768 x 1024, Однако я не могу правильно установить время экспозиции и усиление, как видно из следующего кода, который я использовал.

cam = cv2.VideoCapture(0)

width = cam.get(cv2.cv.CV_CAP_PROP_FRAME_WIDTH)     
height = cam.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT) 
exposure = cam.get(cv2.cv.CV_CAP_PROP_EXPOSURE) 
print width, height, exposure # prints 640 480 -4.0
hr = cam.set(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT, 768)
wr = cam.set(cv2.cv.CV_CAP_PROP_FRAME_WIDTH, 1024) 
print "Setting resolution ", hr, wr  # prints  True True
cam.set(cv2.cv.CV_CAP_PROP_EXPOSURE, 0)  # or any other value, same for gain

width = cam.get(cv2.cv.CV_CAP_PROP_FRAME_WIDTH)    
height = cam.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT) 
exposure = cam.get(cv2.cv.CV_CAP_PROP_EXPOSURE) 
print width, height, exposure # 1024.0 768.0 -4.0

ret, buff = cam.read() 
cam.release()

Вполне может быть, что камера в каком-тоАвтоматический режим который автоматически настраивает параметры, такие каквремя воздействия а такжеусиление, Но если это так, как бы я установить этоАвтоматический режим выкл.

(c) simpleCV

simpleCV кажется альтернативой openCV. Я также попробовал это, и это дает проблему только выборки480 x 640 пиксельное изображение, и я не мог найти ни способа установить его по-другому, ни способа установить время экспозиции.

from SimpleCV import Camera
cam = Camera(0)
img = cam.getImage() # img is a 480 x 640 pixel image
(d) Написание собственного драйвера на C

Одним из вариантов может быть написание кода C для доступа к камере через SDK. Полныйдокументация SDK есть в наличии и, кажется, кто-то успешно это сделал (Вот, или жеВот) но я бы даже не знал, с чего начать и как получить живое изображение в python.

Ответы на вопрос(2)

Ваш ответ на вопрос