Обнаружение края с бескрайним изображением в Python - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть несколько полутоновых изображений с очень низким контрастом ( изображение микроструктуры ), это изображение показывает расслоение материала во время деградации, и я хочу знать процент области расслоения для всей картины (например: идеальный результат ).

Я попытался увеличить контраст с помощью гаммы, журнала и адаптивной настройки, и я могу получить такие цифры: после увеличения контрастности

Затем я попытался найти порог и изменил изображение на черно-белое ( черно-белое изображение )

Но когда я все еще не могу определить контур для расслоенных сегментов, и я получил такой результат: Обнаружение контура (с cv.Canny).

так что мне интересно, есть ли хорошие предложения, чтобы найти преимущество в этой области деламиантиона?

Заранее спасибо!

1 Ответ

0 голосов
/ 02 ноября 2018

Не проверено. Но я верю, что вы можете сделать следующее:

  • Убрать линейный градиент изображения в направлении х. RHS изображения, по-видимому, темнее, чем LHS. Thresholding будет работать лучше, если вы это исправите.

  • После установки порога изображения выделите отдельные области в двоичном изображении, затем удалите области с небольшим размером области

  • Сделайте расширение + эрозию немного, чтобы соединить разбитые эллипсы.

  • Заполните отверстия в этих областях.

Конечные области должны соответствовать деградированной области. Затем вы можете извлечь края или сделать все, что захотите позже.

Технически я был пользователем MVTec Halcon, поэтому я не совсем уверен, как эти понятия называются в opencv, но я считаю, что они должны быть довольно распространенными операциями.

...