SokolKatya писал(а):я использовала сначала (IMAQ Setup Match Geometric Pattern 2 VI, IMAQ Learn Geometric Pattern 2 VI и IMAQ Match Geometric Pattern 2 VI) и у меня снова появлялась старая ошибка (о том, что шаблон инвалид
)
А почему, интересно, вы использовали именно такой набор инструментов?
Сейчас сделано нормально, улучшать там особо нечего. Осталось только проверить работу с несколькими шаблонами (Multiple). Однако хотелось бы обратить внимание. У вас сейчас используется пара IMAQ Setup Match Geometric Pattern 2 VI -> IMAQ Match Geometric Pattern 2 VI:
Но вполне можно сделать и вот так: IMAQ Setup Learn Geometric Pattern 2 VI -> IMAQ Advanced Setup Learn Geometric Pattern 2 VI -> IMAQ Learn Geometric Pattern 2 VI -> IMAQ Match Geometric Pattern 2 VI
Видите различия? В вашем варианте используется инфа из шаблона (IMAQ Read Image
And Vision Info VI), записанная туда ассистентом, во втором шаблон тренируется-обучается заново и в него записываются новые параметры:
IMAQ Learn Geometric Pattern 2 VI
Creates a description of the template image for which you want to search during the matching phase. This description data is appended to the input template image. During the matching phase, the description data is extracted from the template image and used to search for the template in the inspection image.
По функционалу варианты равноценные. Просто в первом случае приходится использовать ассистент, а во втором этого можно избежать (но диаграмма становится менее компактной). Также, я думаю, вы обратили внимание на Setup-строки (розовый провод). У вас используется строка типа Match Geometric Pattern 2 Setup Data, в примере 2 используется строка типа Learn Geometric Pattern 2 Setup Data. Это разные типы, между собой они не совместимы.
Интересная особенность: хотя я и задал интервал разбега угла в -10..10, инструмент его не принимает, а принимает только -180..180 и -360..360. Но этот интервал можно и вовсе не задавать, инструмент по дефолту находит повёрнутые объекты. Масштабирование также подключено "из коробки". Как итог, можно оставить только пару IMAQ Learn Geometric Pattern 2 VI -> IMAQ Match Geometric Pattern 2 VI.
Ну, и в качестве обучения можете попробовать реализовать ту же задачу на Feature Based
(сейчас у вас Edge Based, см. иконки). Может быть, они вам лучше подойдут.
Differences Between Geometric Matching and Pattern Matching
difference between feature and edge based geometric matching
NI Vision 2010 Concepts Help: Geometric Matching Technique
SokolKatya писал(а):-1074396120-Not an image, точное значение ошибки так и не поняла, в интернете пишут что явно что-то не так с форматом файла, либо с указанием путей к файлу
Not An Image - недействительная картинка, т.е. пустая ссылка. Иными словами, картинка была уничтожена раньше, чем началась обработка. Легко проиллюстрировать так: удалите цикл While, всё остальное оставьте. Исходное изображение одновременно пойдёт на IMAQ Match Geometric Pattern 2 VI и на IMAQ Dispose VI, причём Dispose выполнится довольно быстро, а IMAQ Match Geometric Pattern 2 VI может даже ещё не начать работать. Когда до него дойдёт IMAQ-ссылка, она будет пустой и нечего будет обрабатывать. Поэтому
выдаст соответствующую ошибку. Вам советую пока убрать везде IMAQ Dispose на время разработки. Вставите потом, как программа будет целиком работоспособна. Я, если честно, в своих программах Dispose использую только для временных картинок (фильтр какой-нибудь, скейлинг или прочее). Для тех картинок, что выведены на панель, Dispose не делаю. Часто нужно бывает видеть изображение после остановки программы - галка Snapshot может быть снята, так что... Да и имя-константа на БД обеспечивает перезапись того же блока памяти при следующем запуске - в этом плане IMAQ-ссылка выступает в роли указателя на статическую структуру. У вас, кстати, там один Dispose лишний - посмотрите внимательней
Одна и та же ссылка удаляется дважды. Отсюда и ошибка.
SokolKatya писал(а):Пожалуйста, объясните мне, почему не происходило обработки изображения, когда был IMAQ Learn Geometric Pattern 2 VI или он там был и не нужен?! И вообще, правильно ли я все сделала?
Либо IMAQ Setup Match Geometric Pattern 2 VI, либо IMAQ Setup Learn Geometric Pattern 2 VI (+ IMAQ Advanced Setup Learn Geometric Pattern 2 VI) + IMAQ Learn Geometric Pattern 2 VI. Вместе их использовать не получится, т.к. в шаблоне уже записаны данные Vision Info, а мы по сути их перезапишем другими данными. Что выбирать - сами смотрите. Если шаблоны не будут часто меняться, то можно их создать один раз в ассистенте и дальше просто грузить в основную программу. Если шаблоны будут часто меняться, то лучше работать с ними динамически.