Создание шаблона и его детектирование

SokolKatya
beginner
beginner
Сообщения: 28
Зарегистрирован: 04 ноя 2018, 16:11
Репутация: 0
Версия LabVIEW: 2016
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение SokolKatya »

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

Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
professor
professor
Сообщения: 4922
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Репутация: 0
Версия LabVIEW: 2015, 2016
Откуда: СССР

Re: Советы по программированию на LabVIEW

Сообщение IvanLis »

SokolKatya писал(а):Ребята, посоветуйте, как сделать так, чтобы при создании шаблона с камеры можно было бы сохранять одновременно два разных шаблона. Моя программа заменяет один шаблон другим, не могу понять, что исправить.
Вы это делаете в LabVIEW или Vision Assistant ?
Но в любом случае, нужно создавать два разных шаблона и привязывать их к различным файлам.

SokolKatya
beginner
beginner
Сообщения: 28
Зарегистрирован: 04 ноя 2018, 16:11
Репутация: 0
Версия LabVIEW: 2016
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение SokolKatya »

IvanLis писал(а):
SokolKatya писал(а):Ребята, посоветуйте, как сделать так, чтобы при создании шаблона с камеры можно было бы сохранять одновременно два разных шаблона. Моя программа заменяет один шаблон другим, не могу понять, что исправить.
Вы это делаете в LabVIEW или Vision Assistant ?
Но в любом случае, нужно создавать два разных шаблона и привязывать их к различным файлам.
Работаю в LabVIEW, эту проблему худо-бедно решила. Но возникла другая - как мне показать системе, что когда во время сессии она видит квадрат, например, загорается зеленый индикатор, а когда круг - красный? Не знаю, на что ориентироваться.

Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
professor
professor
Сообщения: 4922
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Репутация: 0
Версия LabVIEW: 2015, 2016
Откуда: СССР

Re: Советы по программированию на LabVIEW

Сообщение IvanLis »

SokolKatya писал(а):Работаю в LabVIEW, эту проблему худо-бедно решила. Но возникла другая - как мне показать системе, что когда во время сессии она видит квадрат, например, загорается зеленый индикатор, а когда круг - красный? Не знаю, на что ориентироваться.
Посмотрите пример Match Multiple Geometric Patterns, он по идее должен быть по умолчанию.
http://www.ni.com/example/30535/en/

SokolKatya
beginner
beginner
Сообщения: 28
Зарегистрирован: 04 ноя 2018, 16:11
Репутация: 0
Версия LabVIEW: 2016
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение SokolKatya »

Добрый день!!

Наведите меня на дельные мысли: как мне сделать так, чтобы в одной программе я смогла создать два разных шаблона?
Пробовала через кадры, но добилась только того, что действия выполняются параллельно, а второй шаблон вообще не сохраняется (создала две разные папки для сохранения каждого).

Исходную схему прилагаю.
Буду рада любым советам.
Вложения
Cam(template).vi
(50.42 КБ) 49 скачиваний

alex3f
beginner
beginner
Сообщения: 26
Зарегистрирован: 23 авг 2016, 09:16
Репутация: 0
Версия LabVIEW: 2016
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение alex3f »

1 вариант - преобразовать константу, указывающую имя файла в контрол и сохранять любое кол-во шаблонов.
2 вариант - выбор по кнопке из двух констант (пути и имени файла).
Вложения
ToControl.PNG
ToControl.PNG (7.83 КБ) 3818 просмотров
SelectPat.PNG
SelectPat.PNG (7.28 КБ) 3818 просмотров

Blackman

Activity
leader
leader
Сообщения: 917
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Репутация: 0
Версия LabVIEW: 6.1,8.5,20
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение Blackman »

Гибрид 1 и 2 :wink:
Вложения
Cam.png
Save template.png
Save template.png (19.59 КБ) 3812 просмотров

SokolKatya
beginner
beginner
Сообщения: 28
Зарегистрирован: 04 ноя 2018, 16:11
Репутация: 0
Версия LabVIEW: 2016
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение SokolKatya »

Всем приветики!

Ребята, объясните пожалуйста, что стоит между IMAQ Match Multiple Geometric Patterns и выводом на экран?
Вложения
vision_multiple_pattern_matching.vi
Пример, который дан по умолчанию
(126.39 КБ) 44 скачивания

Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3481
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Репутация: 0
Версия LabVIEW: 2.5 — 2020
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение dadreamer »

SokolKatya писал(а):Ребята, объясните пожалуйста, что стоит между IMAQ Match Multiple Geometric Patterns и выводом на экран?
C:\Program Files\National Instruments\LabVIEW 2018\examples\Vision\Overlay Utilities\Overlay Match Multiple Geometric Patterns Results.vi

SokolKatya
beginner
beginner
Сообщения: 28
Зарегистрирован: 04 ноя 2018, 16:11
Репутация: 0
Версия LabVIEW: 2016
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение SokolKatya »

dadreamer писал(а):C:\Program Files\National Instruments\LabVIEW 2018\examples\Vision\Overlay Utilities\Overlay Match Multiple Geometric Patterns Results.vi
а в версии 2016 года это у нас что?


И пожалуйста можете объяснить каким образом наложить найденные совпадения на изображение (прямая трансляция, не заранее загруженное изображение), с чего начать?

Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3481
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Репутация: 0
Версия LabVIEW: 2.5 — 2020
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение dadreamer »

SokolKatya писал(а):а в версии 2016 года это у нас что?
Если такого :vi: нет в VDM 2016, значит он был создан в более поздних версиях. Инструмент простенький, вот он в 16 версии:
Overlay Match Multiple Geometric Patterns Results.vi
lv2016
(22.08 КБ) 40 скачиваний
Overlay Landmark.vi
lv2016
(24.45 КБ) 36 скачиваний
SokolKatya писал(а):И пожалуйста можете объяснить каким образом наложить найденные совпадения на изображение (прямая трансляция, не заранее загруженное изображение), с чего начать?
Я всегда пользовался инструментами палитры Vision Utilities -> Overlay. Можно и фигуры, и текст отображать на картинке. Рисование не разрушающее, можно в любой момент стереть, не испортив исходное изображение. Просто переберите в цикле ваши совпадения и нарисуйте объекты - у вас есть позиция (x,y) и ограничивающий прямоугольник (left, top, right, bottom). Хотя выложенный :vi: уже делает это за вас - рисует прямоугольник и "прицел".

SokolKatya
beginner
beginner
Сообщения: 28
Зарегистрирован: 04 ноя 2018, 16:11
Репутация: 0
Версия LabVIEW: 2016
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение SokolKatya »

dadreamer писал(а):Я всегда пользовался инструментами палитры Vision Utilities -> Overlay. Можно и фигуры, и текст отображать на картинке. Рисование не разрушающее, можно в любой момент стереть, не испортив исходное изображение. Просто переберите в цикле ваши совпадения и нарисуйте объекты - у вас есть позиция (x,y) и ограничивающий прямоугольник (left, top, right, bottom). Хотя выложенный :vi: уже делает это за вас - рисует прямоугольник и "прицел".
То есть данные функции подойдут для реализации программы, которая в режиме реального времени должна выполнять сортировку двух видов объектов?


Пы.сы: спасибо за инструменты)

Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3481
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Репутация: 0
Версия LabVIEW: 2.5 — 2020
Контактная информация:

Создание шаблона и его детектирование

Сообщение dadreamer »

SokolKatya писал(а):То есть данные функции подойдут для реализации программы, которая в режиме реального времени должна выполнять сортировку двух видов объектов?
Подойдут, с чего бы им не подойти? С камеры же IMAQ-картинка поступает?.. Только всю обработку я бы в отдельный цикл вынес, чтоб не увеличивать время на итерацию получения данных.

SokolKatya
beginner
beginner
Сообщения: 28
Зарегистрирован: 04 ноя 2018, 16:11
Репутация: 0
Версия LabVIEW: 2016
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение SokolKatya »

Во время сессии программа показываемые перед камерой изображения не находит. Во время запуска выскакивает ошибка (Error -1074395628 IMAQ Learn Multiple Geometric Patterns), полагаю что-то не так с данными, по которым и осуществляется поиск в соответствии с шаблонами. Во время останова так же выскакивает ошибка.
Вложения
Cam(tamplate_find2).vi
Жду советов, тапков, критики, наставлений
(94.39 КБ) 48 скачиваний

Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3481
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Репутация: 0
Версия LabVIEW: 2.5 — 2020
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение dadreamer »

SokolKatya
Странно, что до сих пор никто не написал, видимо, мало народу с VDM работает. Но это очевидно - вы выкладываете программу, но не выложили ни исходное изображение, ни изображения шаблонов. Как нам понять, почему распознавание не работает? Гадать на кофейной гуще - занятие не из приятных.

Ошибка -1074395628 говорит о том, что для Learn Multiple Geometric Patterns используется неверный тип изображения. И правда, в хэлпе видим
2019-01-25_15-25-39.jpg
У вас все картинки имеют тип U8, однако зачем-то сделано это
2019-01-25_15-28-31.jpg
2019-01-25_15-28-31.jpg (43.7 КБ) 3302 просмотра
Понятно, что на выходе будет 32-битная картинка, которая окажется непригодной для Learn Multiple Geometric Patterns. Далее, зачем брать интенсивность из RGB? Если так предполагалось работать с монохромным изображением, то проще было сразу взять Grayscale U8, безо всяких преобразований. А если хотелось наоборот работать с цветным изображением, то инструмент Learn Multiple Geometric Patterns не подходит в таком случае и надо использовать связку Setup Learn Color Pattern -> Learn Color Pattern -> Match Color Pattern. Да и вообще, Learn Multiple Geometric Patterns даже для оттенков серого - излишество, проще взять Setup Learn Geometric Pattern 2 -> Learn Geometric Pattern 2 -> Match Geometric Pattern 2 или аналогичную цепочку.
Посмотрите примеры в папках
C:\Program Files (x86)\National Instruments\LabVIEW 2018\examples\Vision\Pattern Matching
C:\Program Files (x86)\National Instruments\LabVIEW 2018\examples\Vision\Geometric Matching
и пример C:\Program Files (x86)\National Instruments\LabVIEW 2018\examples\Vision\Color\Color Pattern Matching.vi
Кроме того, мы ещё не касались параметров, которые вы выставили для поиска шаблонов. Скорее всего, их придётся подстраивать, нужно смотреть, какие у вас получаются картинки.

Ответить

Вернуться в «Vision / IMAQ»