Я использую программы видения для захвата кадров («захват») с камеры GifE емкостью 300 кадров в секунду. Камера может поставлять фреймы немного быстрее, чем HD может их записать, поэтому я захватываю в одном цикле и вставляю их в очередь, которая считывается во втором (смежном/параллельном) цикле. Все идет хорошо, пока первый цикл не завершится (насколько я могу судить), что означает, что все данные были получены, большинство было написано, а остальное просто нужно записать. К сожалению, все изображения, оставшиеся в очереди магически ретроактивно все заканчиваются теми же данными, поэтому последняя часть набора данных содержит сотни статических кадров.LabView перезаписывает сделанные снимки в очереди
Как избежать такого поведения? Я предполагаю, что есть некоторый ресурс, который мне нужно удержать, чтобы память изображения не была исправлена, но, очевидно, не самих изображений. (Я не делаю какой-либо явной камеры очистки вещи там.)
Вот ASCII-арт изображение того, что я делаю (по крайней мере, я надеюсь, что это соответствующая часть):
+===============+ +==========+
[email protected]@[email protected][email protected] queue
| # GrabImg-^ # # | #
| # # # Y->Stop #
| # i-(>n?)->Stop # +==========+
| +===============+
|
| +==============+
\[email protected]?--Y #
# | | #
# N->Get | #
# | v #
# Write Stop#
+==============+
Я m, используя удаление очереди, чтобы сигнализировать о конце цикла. Это немного неряшливо, предоставлено, так что я мог понять, что ошибка одна ошибка, но не ошибка вне 2200, что хуже всего, что я видел. (И опять же, делает пишут все изображения, они все равно в конце.)
где и когда изображения в вашем потребительском буфере, а когда последний очищается? – CharlesB
@CharlesB - Это редактирование предоставляет достаточно информации? –
err, я не привык к тому, как вы это делаете. ли grabimg копировать изображение на новый? вы удаляете изображение после записи? Также в меню редактирования вы можете создать png выбранных объектов вашей диаграммы и разместить изображение здесь. Результат PNG также содержит код LV, так что это хороший способ поделиться кодом LV здесь – CharlesB