Мне нужно найти (и нарисовать прямоугольник)/получить макс и минимальный радиус на изображении. (образцы ниже)
проблема заключается в том, чтобы найти правильные фильтры для изображения, которые позволят преобразовать Canny или Threshold, чтобы выделить капли. то я буду использовать findContours для поиска прямоугольников.
Я пробовал:
-
Threshold- с разным уровнем -
blur->erode->erode->grayscale->canny -
измените тон изображения с различными "строками"
и ect. лучший результат - обнаружить кусок (20-30%) капли. и эта информация не позволяет рисовать прямоугольник. также, спасибо за тени, не связанные с точками blob, были обнаружены, что также мешает обнаружить область.
как я понимаю, мне нужно найти счетчик, который имеет жесткий контраст (не гладкий, как в тени). Есть ли способ сделать это с помощью openCV?
Обновление
случаи отдельно: изображение 1, изображение 2, изображение 3, изображение 4, изображение 5, изображение 6, изображение 7, изображение 8, изображение 9, изображение 10, изображение 11, изображение 12
Еще одно обновление
Я считаю, что у blob есть контрастная область на краю. Итак, я попытался сделать преимущество сильнее: я создал 2 gray scale Mat: A and B, применил Gaussian blur для второго - B (чтобы немного уменьшить шум), затем я сделал несколько расчетов: идет каждый пиксель и найдите максимальную разницу между Xi,Yi от "A" и соседними точками от "B":
и примените разницу max к Xi,Yi. поэтому я получаю что-то вроде этого:
Я на правильном пути? Кстати, могу ли я достичь чего-то подобного с помощью методов OpenCV?
Обновить Image Denoising помогает уменьшить уровень шума, Sobel - выделить контуры, затем Threshold + findContours и custome convexHull получает что-то похожее, которое я ищу, но это не хорошо для некоторых капель.











