Var 0 Жалоба Опубликовано April 20, 2012 Всем привет! Мы пишем программу для расстановки smd компонентов на печатных платах. И хотим попробовать реализовать юстировку компонентов, по изображениям с камеры. Описание задачи: Есть эталонный снимок компонента зажатого в захват. Нужно по другому снимку определить смещение и поворот компонента в захвате. Смещение и поворот в будут не большими скажем до 2мм и 20 градусов. Есть ли функции для такой задачи в OpenCV? Я пишу на питоне, насколько я понимаю, для питона есть библиотека, которая работает с OpenCV... Фотографий пока нет, как появятся напишу. Вот две ссылки на наш проект: Раскладочный станок - установщик компонентов smd #1 Самодельный раскладчик smd, стремящийся к профессиональному #1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Pavia00 32 Жалоба Опубликовано April 20, 2012 Для ваших целей подойдёт контурный анализ. http://habrahabr.ru/post/118486/ Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Var 0 Жалоба Опубликовано April 20, 2012 Ухты, занятная штука... А как для него контур выделять? Еще такая вещь, т.к. точность хочется получить по-больше, наверное деталь будет занимать большую часть фотографии. А нет ли какой-нибудь свертки, которая могла бы помочь определить смещение и поворот большей части картинки? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано April 20, 2012 многое от картинки зависит. и от того меняется ли масштаб, есть ли эталон и т.д. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Var 0 Жалоба Опубликовано April 22, 2012 Масштаб меняться не будет - деталь точно позиционируется по оси Z. Эталон будет - основная задача, найти смещение и поворот детали в плоскости XY относительно эталонной картинки. Т.е. работа будет выглядеть так: 1. появился новый тип деталек, делаем эталонный снимок. 2. Для эталонного снимка вручную вводим необходимые смещения детали, для того, чтобы точно спозицилнировать ее на плате. 3. Для всех последующих деталей делаем снимок, сравниваем его с эталоном (мы знаем какая деталь и какой для нее должен быть эталон). 4. Находим смещение детали на данном снимке относительно эталонного снимка. 5. Простым суммированием двух смещений получаем корректировку положения детали. Таким образом основная задача описана в п.4. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано April 23, 2012 все равно не понял как это выглядит, но наверно можно и template matching использовать и как было выше сказано contour matching http://www.codeproject.com/Articles/196168/Contour-Analysis-for-Image-Recognition-in-C контур выделяется обычным cvCanny Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах