Страница 1 из 2

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

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

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

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

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

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

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

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

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

Добавлено: 21 ноя 2018, 14:43
SokolKatya
Добрый день!!

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

Исходную схему прилагаю.
Буду рада любым советам.

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

Добавлено: 21 ноя 2018, 16:20
alex3f
1 вариант - преобразовать константу, указывающую имя файла в контрол и сохранять любое кол-во шаблонов.
2 вариант - выбор по кнопке из двух констант (пути и имени файла).

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

Добавлено: 21 ноя 2018, 17:11
Blackman
Гибрид 1 и 2 :wink:

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

Добавлено: 22 янв 2019, 13:26
SokolKatya
Всем приветики!

Ребята, объясните пожалуйста, что стоит между IMAQ Match Multiple Geometric Patterns и выводом на экран?

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

Добавлено: 22 янв 2019, 15:21
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

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

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


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

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

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

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

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


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

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

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

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

Добавлено: 24 янв 2019, 17:28
SokolKatya
Во время сессии программа показываемые перед камерой изображения не находит. Во время запуска выскакивает ошибка (Error -1074395628 IMAQ Learn Multiple Geometric Patterns), полагаю что-то не так с данными, по которым и осуществляется поиск в соответствии с шаблонами. Во время останова так же выскакивает ошибка.

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

Добавлено: 25 янв 2019, 13:59
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 КБ) 5371 просмотр
Понятно, что на выходе будет 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
Кроме того, мы ещё не касались параметров, которые вы выставили для поиска шаблонов. Скорее всего, их придётся подстраивать, нужно смотреть, какие у вас получаются картинки.