Используя щелчок мыши, чтобы обнаружить контур в opencv
У меня есть различные контуры / сегменты в изображении. Прямо сейчас я использую клавиатуру для ввода, какой сегмент я хочу извлечь из изображения (приведено ниже)
Рассмотрим розовую область как сегмент 1 и белую область как сегмент 2. Я использую клавиатуру для ввода, какой сегмент (1 или 2) я хочу извлечь. На контуре рисования я получаю
Я сохранил цвета каждого сегмента в массиве и использую массив для извлечения конкретного сегмента.
Теперь я хочу знать, возможно ли использовать щелчок мыши для идентификации сегмента / контура, чтобы я мог рисовать несколько контуров и идентифицировать сегмент с помощью мыши и не использовать клавиатуру для ввода номера сегмента.
1 ответ
Я знаю, что этот вопрос задавали некоторое время назад, но именно это я и сделал, чтобы решить свою проблему. Я делал это в Python, но это должно быть похоже.
Я использовал алгоритм заливки OpenCV, чтобы заполнить то, где щелкнул, используя нарисованные контуры на двоичном изображении в качестве маски заливки, где контуры белые, а фон черный. Таким образом, заливка не может пройти по краям контура.
Как только вы заполняете контур определенным цветом, его легко извлечь с помощью некоторого порога.
Надеюсь это поможет.