Моя цель — считывать 1 пиксель с GIF-камеры в режиме VIEW (живой захват) и сохранять его в файл каждый раз, когда данные обновляются. Камера якобы обновляется каждые 0,0001 секунды, потому что это минимальное время сбора данных, которое Digital Micrograph позволяет мне выбрать в режиме VIEW для этой камеры.
Я могу прикрепить прослушиватель событий изображения к живому изображению камеры с картой сообщений (messagemap = "data_changed:MyFunctiontoExecute"
), и MyFunctiontoExecute успешно запускается, что дает мне файл с многочисленными значениями пикселей.
Однако, если я позволю этому обработчику событий запуститься на секунду, я получу только значения, близкие к 100 пикселям, когда я ожидал ближе к 10 000 (если живое изображение обновляется каждые 0,0001 секунды).
Это потому, что живое изображение не обновляется так быстро, как я думаю?
The event-listener certainly is executed at each event.
Однако живое изображение высокоскоростной камеры почти наверняка не будет обновляться при каждом полученном кадре. Он либо выполнит какой-то кумулятивный, либо выборочный дисплей. Точный ответ будет зависеть от конкретной системы, в которой вы работаете, и от сделанных конфигураций.
Следует отметить, что сверхвысокая частота кадров обычно может быть достигнута только с помощью специальной прошивки и оптимизированных систем. Маловероятно, что "общий программный подход" - в частности интерпретируемый и некомпилируемый код - сможет обеспечить необходимую скорость. При таком подходе проблема может быть обречена с самого начала.
(Вместо этого, скорее всего, придется создать буфер, а затем настроить систему для сбора данных непосредственно в буфер с максимально возможной частотой кадров. Это будет непосредственное кодирование захвата камеры)
Еще раз спасибо за ответ @BmyGuest! Из любопытства, насколько сложным было бы непосредственное кодирование захвата камеры? Спасибо за вашу помощь!
На самом деле это может быть больше аппаратный вопрос, чем вопрос кодирования, и ответ, безусловно, будет зависеть от используемой вами камеры который. Существует много разных типов камер, и «GIF-камера» не указывает это, а указывает только место, в котором установлена камера. Сказав это, обновление дисплея безусловно не выполняется с безумной частотой кадров, которую могут достичь высококачественные камеры, и прослушивание событий обновления не даст вам полной производительности.