|
Диванный эксперт
|
|
OpenCV: Практическое применение в производстве06.05.2018, 23:01. Показов 1906. Ответов 7
Честно говоря, я не знаю с чего начать решать данную задачу...
Условие: Есть конвейер с изделиями(досками). Задача: Нужно определить, какому сорту принадлежит текущее изделие(для дальнейшей сортировки). Подзадача(для начала): получить координаты(область) изделия на изображении. Условия: вибрация камеры, шум на изображении. Я не прошу написать алгоритм, нужны ссылки/статьи/советы.
0
|
|
| 06.05.2018, 23:01 | |
|
Ответы с готовыми решениями:
7
Практическое применение c++
|
|
2631 / 1643 / 266
Регистрация: 19.02.2010
Сообщений: 4,362
|
|
| 07.05.2018, 00:16 | |
|
Светить лазером (но не точечным, как в лазерной указке - а рисующим полосу), смотреть через красный (десяток лет назад мы использовали именно красный - под цвет лазера) светофильтр.
Далее ловить контур этой засветки на картинке с камеры - и переводить её из пикселей картинки в размеры/координаты на плоскости или в объёме. Естественно, надо пытаться максимально убрать весь посторонний свет. Но даже в этом случае скорее всего придётся использовать какой-то порог по яркости - для лучшей надёжности распознавания. Правда, установка лазера и камеры под смысл задачи чаще всего обеспечивает лучшую засветку ближайших к лазеру и камере областей - т.е. верхушки изделия, а не того, на чём изделие лежит. Как на приложенной картинке, где мы меряли размеры бревна на станке для планирования=оптимизации схемы его распила. Слева - исходная картинка засветки лазером верха бревна и станины внизу, справа - уже на выделенной по порогу яркости области определяется верхушка полосы для последующего пересчёта из пикселов в диаметр бревна. Да - лазер у нас светил сверху, перпендикулярно плоскости=станине. А камера стояла под углом где-то в 45 градусов (т.е. не рядом с лазером), чтобы видеть обрисовываемый на объёмном объекте контур.
1
|
|
|
Диванный эксперт
|
|
| 07.05.2018, 02:48 [ТС] | |
|
Только вот найти область, принадлежащую изделию - начальный шаг.
Дальше надо будет в этой области найти и классифицировать дефекты, по наличию/отсутствию которых будет производится назначение сорта. Кликните здесь для просмотра всего текста
Самой большой помехой является устройство конвейера - доски движутся поперек, а не вдоль - нужно сканировать всю длину за раз.
По времени: есть не более 2х секунд для получения исходных данных + оценка + отправка результата. То есть на обработку не более 1й секунды. Иначе конвейер принесет(а может быть и нет...) новое "изделие" и программа "захлебнется" в потоке данных.
0
|
|
|
294 / 265 / 48
Регистрация: 09.04.2013
Сообщений: 1,038
|
|
| 07.05.2018, 09:26 | |
|
Сначала просто словами попытайся сформулировать правила по которому можно определить сорт досок.
Ставь камеру, или несколько камер, и в таком положении чтобы захватить все области которые нужно протестировать. Да, и освещение сделай сам какое нужно. Компы то сейчас многоядерные, попробуй параллельное выполнение независимых алгоритмов. И еще - не для всех задач необходимо использовать полноразмерное изображение, иногда можно и уменьшить.
1
|
|
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|||
| 07.05.2018, 20:56 | |||
|
Может искать типа дефектоскопия досок или неразрушимый контроль. Наверняка просвечивают рентгеном без альтернатив. Если доски плоские и уже обработаны и тонкие может ИК камера и мощный подсвет досок позволит просвечивать их насквозь как рентген? Может мощная вспышка как в фотоаппаратах только пару кВт в пыхе =). во вспышке\фоне тем четче фото даже с вибрацией тела(меньше время кадра).
1
|
|||
|
2631 / 1643 / 266
Регистрация: 19.02.2010
Сообщений: 4,362
|
|
| 09.05.2018, 21:35 | |
|
Надо просто распознавать/классифицировать совсем в другой момент
![]() А именно - непосредственно при распиливании бревна на доски. Ибо из дефектов могут быть либо захват коры, либо сердцевинная гниль/щелястость бревна, либо сучки. Вот пара картинок - там только начинает пилиться бревно. Жёлтые поверхности - это то, что смотрит вверх, беловатые - вертикальные, это чисто из-за освещения вертикальные так бликовали. На первой видно, что на доске останется кора, на второй - надо будет по меняющейся границе коры (меняющейся ширине бревна в этом продольном сечении) затем откорректировать ширину досок, которые напилятся по той плоскости. Т.е. какие-то дефекты видны сверху, а какую-то информацию о вскрытых дефектах или о уточнённой геометрии бревна можно использовать при изменении схемы распиловки. А вот что-то (дефект, который будет с нижней стороны выпиленной доски) мы увидим уже только после снятия этой выпиленной доски (на новой наблюдаемой на бревне плоскости). Т.е. низ доски можно не распознавать - а перенести на него информацию с верха будущей доски, лежащей ниже уже выпиленной. Может, сумбурно - но у меня полвторого ночи на часах
1
|
|
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
||
| 10.05.2018, 09:09 | ||
|
Может классификация досок “Сортность продукции” а не эффективного места распила? Может доски идут после некоторой сушки\нормализации и у них есть ряд дефектов “Сортность продукции”
https://rubankom.com/materialy... ment-dosok нет четкого ТЗ...одни домыслы. Ну вот же написали это:
1
|
||
| 10.05.2018, 09:09 | |
|
Помогаю со студенческими работами здесь
8
Интерфейсы - практическое применение Практическое применение атрибутов Практическое применение теоретических знаний Практическое применение Duplex WCF
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|