Как успешно считать таблетки? - PullRequest
1 голос
/ 25 марта 2019

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

Сначала фон. Я уже разработал (круглый) счетчик таблеток. Он использует что-то похожее на этого урока . После того, как я сделал это, я также нашел нечто похожее с этим другим учебником .

Однако мой метод не работает для чего-то вроде этого изображения

The original problem

Хотя процесс сегментации немного сложен (из-за полупрозрачности планшетов) мне удалось его получить

segmented image

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

Буду признателен, если кто-нибудь поможет мне найти решение.

Пока что я применил дистанционное преобразование, а затем свою собственную версию водораздела, и я получил

bad results

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

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

difficult case

Я открыт для использования OpenCV или, если необходимо, для реализации своих собственных алгоритмов. До сих пор я пробовал и то и другое (использовал функции OpenCV, а также программировал свои собственные библиотеки). Я также открыт для использования C ++, Python или другого. (лично я запрограммировал их на C ++ и тоже на C #)

Еще раз спасибо за помощь.

1 Ответ

0 голосов
/ 25 марта 2019

Учитывая, что все таблетки идентичны и не пересекаются, просто разделите общую площадь таблетки на площадь одной таблетки.

Площадь оценивается просто путем подсчета количества пикселей «таблетки».

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

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