Подсчет объектов на изображении с использованием OPENCV и Python - PullRequest
3 голосов
/ 06 мая 2020

В настоящее время я пытаюсь подсчитать количество креветок на заданном изображении. Я использую это тестовое изображение:
test image

Код, который я использовал до сих пор, следующий:

import cv2
import numpy as np
from matplotlib import pyplot as plt

#Load img
path = r'C:\Users\...' #the path to the image
original=cv2.imread(path, cv2.COLOR_BGR2RGB)
img = cv2.imread(path, cv2.IMREAD_GRAYSCALE)

#Hist to proceed with the binarizarion
hist = cv2.calcHist([img],[0],None,[256],[0,256])

#do the threshold
ret,thresh = cv2.threshold(img,60,255,cv2.THRESH_BINARY_INV)

С этого момента я пробовали различные морфологические преобразования, такие как размывание, расширение, открытие и закрытие, но они, похоже, не работают и разделяют объекты, как я хочу.

Я читал, что могу применить преобразование Водораздела так отдельно прикосновения к элементам, но у меня нет опыта в этом (работаю на данный момент).

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

Любая помощь приветствуется!

...