8. Введение в инструмент VisionPro: CogAcqFifoTool.
8. Введение в инструмент VisionPro: CogAcqFifoTool.

VisionPro использует очередь сбора данных FIFO (первый пришел — первый вышел) для получения изображений. Чтобы получить изображение, вам необходимо отправить запрос на изображение в FIFO. После отправки запроса на изображение вы можете обработать другие задачи в процессе получения изображения или дождаться завершения получения изображения, прежде чем выполнять другие задачи. FIFO сбора данных сначала обрабатывает самый ранний запрос на получение данных и помещает в очередь запросы, отправленные в процессе сбора данных. Когда сбор данных завершен, соответствующий запрос на сбор данных будет удален из очереди получения данных.

1.1. Введение в основные понятия.

  • FIFO сбора: это объект, который поддерживает очередь «первым пришел — первым обслужен». Вы можете создать FIFO для сбора данных для каждой камеры для подключения к инструментам захвата изображений.
  • Свойства сбора данных: ряд свойств, используемых для управления работой камеры и ее взаимодействием с FIFO сбора данных.
  • Асинхронный одновременный сбор: асинхронный сбор, метод, при котором FIFO двух или более камер получают запросы на изображение и получают изображения одновременно.
  • Автоматический запуск: метод получения изображений путем проверки импульсного сигнала на линии запуска, также называемый аппаратным запуском.
  • Файл конфигурации камеры (CCF): файл, хранящийся в пути установки (путь по умолчанию (), который содержит информацию для системы обработки изображений для создания соответствующих форматов изображений на основе различных камер.
  • Видеомодуль Cognex (CVM): оборудование, обеспечивающее интерфейсы для различных камер. CVM могут быть интегрированы в устройство захвата кадров в качестве дочерней карты или в заводской конфигурации.
  • FIFO: структура связанного списка в порядке очереди, в которой элементы удаляются из связанного списка в том порядке, в котором они были добавлены.
  • Захват кадров: аппаратное обеспечение, которое оцифровывает изображения, чтобы их можно было использовать программным обеспечением. В библиотеке машинного зрения Cognex захват кадров используется для представления функции обработки изображений оборудования и поддерживаемых методов обработки изображений.
  • Ручной запуск: Ручной запуск, также называемый мягким запуском, запускает визуализацию с помощью функции.
  • Синхронный одновременный сбор: метод синхронного сбора, который может назначить один FIFO в качестве главного FIFO и один или несколько FIFO в качестве подчиненного FIFO. Когда основной FIFO получает запрос на создание образа, подчиненный FIFO автоматически запускает образ.
  • Билет: возвращаемое значение функции StartAcquire, которое можно передать функции CompleteAcquire для получения изображения, соответствующего запросу изображения.
  • Триггерное событие: импульсный сигнал на линии триггера или функциональный сигнал, используемый для запуска устройства формирования изображений.
  • Триггерная линия: выделенная сигнальная линия на устройстве обработки изображений (захват кадров), используемая для приема внешних триггерных сигналов для запуска визуализации и реагирования на соответствующие внешние события.
  • Формат видео: используется для определения типа камеры, размера изображения, глубины изображения и т. д.

1.2. ФИФО приобретения.

ICogAcqFifo создается объектом ICogFrameGrabber. Фреймграббер устанавливается на компьютер и используется для управления подключенным к нему компьютером. Конкретный режим захвата кадров определяет, какие типы камер вы можете использовать, а также доступные функции видео. Когда вы создаете объект Acquisition FIFO, вы устанавливаете формат видео и глубину пикселей, используемые для описания характеристик камеры. После создания объекта Acquisition FIFO вы не можете изменить подключенный к нему захват кадров, а также изменить формат видео.

В зависимости от конкретного режима устройство захвата кадров может иметь один или несколько портов камеры. Вы создаете FIFO сбора данных и можете установить порт камеры для подключения. Однако вы должны понимать, что порты камеры устройства захвата кадров могут не иметь возможности захватывать изображения одновременно. Вы также можете использовать существующий FIFO для создания подчиненного FIFO для получения изображений из двух или более источников изображений.

  • Видео форматы

Видеоформат используется для описания конкретного режима камеры, а также для управления различными параметрами физического интерфейса камеры и захвата кадров, такими как размер изображения, максимальная глубина пикселей, синхронизация ресурсов и т. д. Cognex предоставляет несколько файлов конфигурации видеоформата для планирования вышеуказанных параметров. Хотя они недоступны для редактирования, вы можете увидеть эти файлы CCF, которые по умолчанию устанавливаются в путь C:\ProgramFiles\Cognex\VisionPro\bin при установке программного обеспечения Visionpro.

В Visionpro формат видео описывается строкой, которая содержит такие параметры, как производитель камеры, режим, информацию о синхронизации и т. д. Чтобы помочь пользователям выбирать форматы видео и гарантировать, что используются действительные имена форматов видео, в следующей таблице объясняется, как интерпретировать имена форматов видео. В качестве примера возьмем «Sony XC-75 640x240 IntDrv(быстрый сброс,затвор-sw-SDONPISHA)CCF,

1.3.Порты камеры и видеоканалы

Большинство захватчиков кадров Cognex позволяют подключать несколько камер. Однако это не означает, что вы можете захватывать изображения со всех камер одновременно. Количество камер, которые могут захватывать изображения одновременно, зависит от количества видеоканалов в кадре. Видеоканал (видеоканал) Аппаратное обеспечение, используемое устройством захвата кадров для обработки изображений; видеоканал может обслуживать несколько портов камеры. Visionpro предоставляет функцию NumVideoChannels, позволяющую сообщать количество видеоканалов, принадлежащих вашему устройству захвата кадров. На некоторых кадрграбберах могут быть разные форматы портов камер, например могут быть порты аналоговых камер и порты цифровых камер, в этом случае вы можете использовать функцию GetNumCameraPorts, чтобы получить количество портов камер для данного формата камеры, вы также можете используйте NumCameraPorts, чтобы получить количество доступных портов камеры для видеоформата, выбранного во время создания.

1.4. Запросы на приобретение

FIFO сбора данных получает изображения на основе запросов изображений. Способ создания запросов изображений зависит от значения CogAcqTrjggerModelConstants, установленного для FIFO сбора данных. Метод запуска можно указать в соответствии с вашими конкретными потребностями. На выбор предлагается несколько методов запуска:

  • Ручной запуск:вызвав функцию。
  • Аппаратный запуск (автоматический запуск):Запуская импульсный сигнал на линии。
  • Аппаратный полуавтоматический (Полуавтоматический запуск):Через функции и внешние триггеры

Смешанный подход.

  • Запуск свободного запуска:Позвольте системе получать изображения как можно быстрее。
  • Ручной запуск

Ручной запуск — это самый простой метод запуска. В этом методе запуска функция StartAcquine вызывается для выдачи запроса на изображение, а функция CompleteAcquire вызывается для получения уже доступного изображения. Таким образом, во время процесса создания изображения вы можете отправить запрос. новый запрос на приобретение или выполнение других задач, не дожидаясь завершения этого приобретения. Если вы хотите дождаться завершения получения изображения после отправки запроса на получение, вы можете использовать функцию «Получить».

2. Аппаратный запуск (автоматический запуск)

В некоторых случаях внешний запуск является лучшим вариантом. Каждый захват кадров имеет по крайней мере один вход триггера для отправки запросов триггера. Когда программное обеспечение обработки изображений обнаруживает сигнал перехода в сигнале триггера, оно начинает формирование изображения. Таким образом, использование ручного запуска приведет к ошибкам. Аналогичным образом вы можете получать изображения в порядке запросов на получение, вызывая функцию CompleteAcquire.

Размер FIFO для сбора данных равен 32, вам необходимо получить изображение и переместить его из FIFO. В противном случае FIFO заполнится, и последующие запросы изображений будут игнорироваться. Вы можете использовать GetFifoState для отслеживания количества запросов на получение данных в очереди в FIFO, использовать CompleteAcquire для получения необработанных изображений и использовать функцию Flush для удаления необработанных запросов на получение изображений. Если вы хотите игнорировать сигнал триггера, вы можете использовать свойство TriggerEnabled, чтобы включить или отключить сигнал триггера. Кроме того, если две или более камер используют одну и ту же линию триггера, об ошибке не будет сообщено. Однако в FIFO, который получает триггер, не будет сообщено. источник первым получит изображение. Другие FIFOS будут заблокированы.

3. Аппаратный полуавтоматический запуск.

Аппаратный полуавтоматический запуск — это гибридный метод запуска, который представляет собой комбинацию аппаратного запуска и ручного запуска. Изображения можно получить, вызвав функцию визуализации или внешний сигнал запуска.

4. Запуск свободного хода

В этом методе запуска система обработки изображений захватывает изображения с максимальной частотой кадров, которую может поддерживать камера. Чтобы получить следующее доступное изображение, необходимо вызвать «Завершить сбор» в приложении, а кнопку «Начать сбор» использовать невозможно.

1.5.Этапы настройки инструмента CogAcqFifoTool

(1) Выберите оборудование и установите параметры визуализации:

(2) Установите режим триггера:

(3) Атрибуты изображения:

(4) Установите параметры GigE:

(5) Установите параметры пользовательского атрибута:

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose