Цель: я хочу обнаружить определенные области изображений листьев. Я обнаружил связанные с этим проблемы, близкие к этому сегментировать объект (лист), который находится на белой бумаге, используя обработку изображения (удаление листа с белого фона), но мой выходит за его пределы, он направлен на извлечение/сегментацию больной области листа.
Проблема: как точно сегментировать и выделить больные участки листа на изображении.
Моя попытка:
1. функция inRange() OpenCV — порог зеленого цвета, чтобы я не делал несколько значений inRange для незеленых областей (коричневый, серый и т. д.) и, надеюсь, я уберу зеленый цвет; Я применил размытие по Гауссу, конвертировал из RGB в HSV перед сегментацией
Ссылка на файлы входных данных image1, image2 и результатов:
Image1: Результат: Зеленый цвет был сегментирован( подумал не совсем точно), но я пока не знаю, как выделить незеленые области (как следующий шаг)
Изображение 2: Результат: Маленькие темные круги были включены/считались зелеными, что предположительно не должно
Я новичок в OpenCV (а также в C++), и я прочитал несколько методов (таких как методы кластеризации fuzzy-c и k-means и т. д.) для сегментации, но я не могу решить, какой метод сегментации использовать для моих изображений. Я также узнал из прочитанных статей, что не существует такой вещи, как универсальная техника сегментации, которую можно было бы применить ко всем изображениям.
Таким образом, я хотел бы знать, какой метод (метод кластеризации? Основанный на области? Гистограмма? и т. д.) или процесс лучше всего применять для типов изображений, которые у меня есть, чтобы точно сегментировать указанные изображения.
Большое Вам спасибо.