Как удалить излишки порошка с изображения? - PullRequest
0 голосов
/ 14 марта 2020

Мы кодируем мониторинг камер для наших 3D-принтеров, используя OpenCV и Python. Мы пытаемся создать контур только порошкового слоя (без толстых краев сверху и снизу). Мы пытались придумать согласованные методы, но, похоже, не можем найти решение этой конкретной проблемы. Может быть, кто-то из вас может помочь нам понять это. Конечная цель состоит в том, чтобы провести анализ на порохе, чтобы мы могли обнаружить потенциальные проблемы.

Рамка камеры с описанием

Camera frame with description

Попытка результата для достижения

Result trying to achieve

Мы попробовали эти методы:

  1. Стандартное смещение снизу и сверху. Это сложно, потому что у нас есть несколько камер, каждая из которых имеет свою точку зрения. Кроме того, камеры могут потенциально двигаться.
  2. Обнаружение линии в нижней и верхней половине изображения. Используя значения строки, мы можем обрезать изображение. Мы обнаружили, что это противоречиво, потому что не каждый раз, когда линия начинается именно там, где толстые края.
  3. Избавьтесь от всех пикселей вне диапазона, используя cv2.inRange (). Это хорошо работает, за исключением того, что края пудры все еще видны.

1 Ответ

0 голосов
/ 14 марта 2020

Из того, что я вижу, краевой детектор (скажем, Собел или производная от Гаусса) «увидит» текстурированные области и сильные переходы от белого к черному по бокам. Следовательно, с подходящим порогом, центральная область, за которой вы работаете, будет отображаться в виде единого шарика. Это очень хорошая основа для вашего процесса обрезки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...