Я относительно новичок в OpenCV, и у меня нет сильного фона обработки изображений. В настоящее время я работаю над проектом по написанию программы для подсчета всех биологических клеток с микроскопа на изображении. Я пробовал различные методы из интернет-источников, чтобы применить подсчет на изображении, но ни один из них не работает так, как ожидалось.
Некоторые из методов, которые я использовал:
Это пример изображения, которое мне нужно, чтобы подсчитать общее количество ячеек.
Мой текущий алгоритм подсчета работает лучше, если клетки не находятся близко друг к другу. Например, вот так:
Тем не менее, алгоритм по-прежнему не в состоянии разделить 3 ячейки, которые склеены в центре изображения.
Итак, что я могу сделать, чтобы определить общее количество ячеек на изображении с наименьшим ложным отрицательным / положительным?
Ваш подход почти в порядке. Однако для этого нужны некоторые дополнительные шаги.
Вам нужно что-то под названием Морфологические операции.
Открытие:
cv::Mat element = cv::getStructuringElement(cv::MORPH_RECT, cv::Size(5, 5), cv::Point(1, 1));
cv::morphologyEx(img, img, cv::MORPH_OPEN, element, cv::Point(-1, -1), 1);
Других решений пока нет …