Я использую край и контур OpenCV, чтобы попытаться проанализировать результаты теневого изображения пузырьков. Он работает хорошо, но дает сбои, когда два пузырька расположены очень близко друг к другу, когда он рассматривает их как один контур, когда явно два пузырька расположены близко друг к другу.
Контурная теневая диаграмма
Контурный теневой график с примененным условием округлости
Выше — результат условия округлости (которое я нашел здесь), и хотя объективно группа пузырьков справа больше В идеальном мире я бы хотел, чтобы пузырьки в середине идентифицировались как два отдельных пузыря, а сгруппированные пузырьки справа игнорировались.
Вот что у меня есть. как код:
img=cv.imread(path)
gi=cv.cvtColor(img,cv.COLOR_BGR2GRAY)
edges=cv.Canny(gi,30,200)
contours, hierarchy=cv.findContours(edges, cv.RETR_EXTERNAL, cv.CHAIN_APPROX_NONE)
circular_contours=[]
for a in range(len(contours)):
peri=cv.arcLength(contours[a], True)
area=cv.contourArea(contours[a])
if peri==0:
continue
circularity=4*np.pi*(area/peri**2)
print('Circularity: '+str(circularity))
if 0.69
Подробнее здесь: https://stackoverflow.com/questions/787 ... e-together
Сгруппированные пузыри или пузыри близко друг к другу? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как удалить контуры, расположенные слишком близко друг к другу по осям X OPENCV — PYTHON
Anonymous » » в форуме Python - 0 Ответы
- 25 Просмотры
-
Последнее сообщение Anonymous
-