Что является эквивалентом PySpin функции / метода включения камеры PyCapture2? - PullRequest
0 голосов
/ 05 июня 2019

Я ищу способ проверить, включена ли камера для PTG камеры.

В PyCapture2 приведенный ниже код работает, но предполагаемый PySpin cam.DeviceConnectionStatus() не будет работать, так как функция, по-видимому, отсутствует.

Версия библиотеки камер PySpin: 1.23.0.27

Ошибка:

Ошибка: Spinnaker: GenICam :: AccessException = Функция отсутствует(ссылка недействительна): исключение AccessException (файл 'IEnumerationT.h', строка 341) [-2006] (False, SpinnakerException ("Spinnaker: GenICam :: AccessException = функция отсутствует (ссылка недействительна): исключение AccessException (файл ')IEnumerationT.h ', строка 341) [-2006] "))

Я также пытался PySpin.Camera.DeviceConnectionStatus(), но выдает следующую ошибку, до или после cam.Init():

 Traceback (most recent call last):
  File "X.py", line 82, in YZ
    print (PySpin.Camera.DeviceConnectionStatus())
TypeError: 'property' object is not callable

Рабочий код PyCapture2:

    def cameraOn(self, cam):

        # Power on the Camera
        cameraPower = 0x610
        powerVal = 0x80000000

        cam.writeRegister(cameraPower, powerVal)

        # Waiting for camera to power up
        retries = 10
        timeToSleep = 0.1    #seconds
        for i in range(retries):
            sleep(timeToSleep)
            try:
                regVal = cam.readRegister(cameraPower)
            except PyCapture2.Fc2error:    # Camera might not respond to register reads during powerup.
                pass
            awake = True
            if regVal == powerVal:
                break
            awake = False
        if not awake:
            print ("Could not wake Camera. Exiting...")
            exit()

1 Ответ

0 голосов
/ 07 июня 2019

Как представляется, функция IsValid() доступна из класса CameraBase() в библиотеке PySpin / Spinnaker. Эта функция возвращает либо bool True после того, как соединение может быть установлено, связь была успешной и камера все еще действительна для использования, либо "False" соответственно. Однако эта функция не включает камеру ON или OFF . И при этом это не питание от состояния сна / бодрствования.

Для неизвестных повторений функция IsValid() не сообщает о обратных трассировках для целей ведения журнала или отладки. Так что имейте в виду, чтобы реализовать try /, за исключением определенных методов.

try:
    ... your code ...

except PySpin.SpinnakerException as error:
            print('Error: %s' % error)
            return False, error
...