Я полностью застрял в проблеме, касающейся сегментации стеклянных объектов. Мне нужно, чтобы объект был максимально точным. Мои подходы были разные. Сначала я попытался удалить фон, чтобы остались только некоторые четкие контуры. Но это работает только для объектов, которые имеют острые края / градиенты. В противном случае сам объект также удаляется. Я разместил два разных изображения.
Я пытался удалить фон с помощью морфологических операций, таких как расширение оттенков серого и деление на него. но это не сильно помогло. после этого я попытался использовать k-means с k = 3 для отделения модифицированного фона от значений серого и черного цветов стекла. Это не было успешным в некоторых случаях, но не в целом / в среднем. Я также попытался сделать четкое обнаружение краев с помощью фильтра с размытыми краями, но это привело к более слабым результатам в виде открытых контуров, большого количества шума и т. П.
Canny с автоматическим порогом результатов:
testimg = imread('http://i.imgur.com/huQVt.png');
imshow(testimg)
imedges = edge(testimg,'canny');
imshow(imedges);
То же самое касается второго изображения.
Как видите, внутри и снаружи много шума и двойных краев от границы стекла. Даже есть зазоры по краям.
Итак, мне нужны ваши советы для получения общего подхода к решению этой проблемы полупрозрачных материалов, а не только для этих двух изображений.
1) Другие идеи по удалению фона без повреждения объекта?
2) Другие методы сегментации для отделения объекта от фона?
Если это возможно, то с Matlab, IPT или статистическими подсказками. Любые другие советы также приветствуются!
Спасибо за ваш ответ заранее. Искренне