Я использую край и контур 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
-