Вызвано исключение TimoutException ip-камеры Basler pylon (файл ‘tlfactory.cpp ‘, строка 694) в python

#python #ip-camera

Вопрос:

У меня возникла проблема с использованием IP-камеры Basler Pylon при захвате. Я установил свой ip, как показано ниже. IP-адрес подключения Ethernet

Я использовал grab.py код pypylon из Github basler/pypylon/grab.py . Это работает, когда я пробовал это на другом компьютере, но на моем компьютере возникает исключение тайм-аута. Не могли бы вы помочь мне, как решить эту проблему?

Код:

 from pypylon import pylon
from pypylon import genicam

import sys

countOfImagesToGrab = 100

exitCode = 0

try:
    camera = pylon.InstantCamera(pylon.TlFactory.GetInstance().CreateFirstDevice())
    camera.Open()

    print("Using device ", camera.GetDeviceInfo().GetModelName())

    new_width = camera.Width.GetValue() - camera.Width.GetInc()
    if new_width >= camera.Width.GetMin():
        camera.Width.SetValue(new_width)

    camera.MaxNumBuffer = 5

    camera.StartGrabbingMax(countOfImagesToGrab)

    while camera.IsGrabbing():
        grabResult = camera.RetrieveResult(5000, pylon.TimeoutHandling_ThrowException)

        if grabResult.GrabSucceeded():
            print("SizeX: ", grabResult.Width)
            print("SizeY: ", grabResult.Height)
            img = grabResult.Array
            print("Gray value of first pixel: ", img[0, 0])
        else:
            print("Error: ", grabResult.ErrorCode, grabResult.ErrorDescription)
        grabResult.Release()
    camera.Close()

except genicam.GenericException as e:
    print("An exception occurred.")
    print(e.GetDescription())
    exitCode = 1

sys.exit(exitCode)
 

И ошибка: _genicam.Исключение TimeoutException: время ожидания захвата истекло. Возможные причины: передача изображения с устройства камеры не работает должным образом, например, отбрасываются все сетевые пакеты GigE для потоковой передачи; Камера использует явное срабатывание (см. TriggerSelector для получения дополнительной информации) и не была запущена; используется режим сбора одного кадра, и один кадр уже получен;сбор не был запущен или был остановлен. : Вызвано исключение TimeoutException (файл ‘instantcameraimpl.h’, строка 1037)

TimoutException

Ответ №1:

В разделе ошибок есть предупреждение о том, что камера запускается явно. Я предполагаю grab , что метод запускается по-другому. Для этого вы можете изменить startgrabbingmax метод в своем коде с camera.StartGrabbing(pylon.GrabStrategy_LatestImageOnly) помощью и повторить попытку?