Рубрики
Без рубрики

Как считать объекты на изображении с Python

В этом уроке вы узнаете, как вы можете посчитать количество объектов на изображении с Python Usin … Теги с Python, учебником, Computery, Showdev.

В этом руководстве вы узнаете, как вы можете подсчитать количество объектов на изображении с Python, используя CV2.

Это наше тестовое изображение:

Давайте перейдем к коду:

Сначала нам нужно импортировать наши зависимости:

import cv2
import numpy as np

Сначала нам нужно прочитать наше изображение:

img = cv2.imread('test.jpg')

Тогда мы будем преобразовать его в серого

img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

После этого мы делаем пороговое значение на изображении

_, thresh = cv2.threshold(img, 225, 255, cv2.THRESH_BINARY_INV)
kernal = np.ones((2, 2), np.uint8)

Тогда мы выполняем процесс расширения, удаление черных искажений:

dilation = cv2.dilate(thresh, kernal, iterations=2)

Следующий шаг – найти контурные формы:

contours, hierarchy = cv2.findContours(
    dilation, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

Тогда мы получаем количество контуров (найденные объекты):

objects = str(len(contours))

Теперь мы можем печатать количество объектов на изображении

text = "Obj:"+str(objects)
cv2.putText(dilation, text, (10, 25),  cv2.FONT_HERSHEY_SIMPLEX,
            0.4, (240, 0, 159), 1)

Для последнего шага мы можем показать, оригинальное, пороговое и расширение изображения:

cv2.imshow('Original', img)
cv2.imshow('Thresh', thresh)
cv2.imshow('Dilation', dilation)

cv2.waitKey(0)
cv2.destroyAllWindows()

Это наш конечный результат:

Спасибо вам всем.

Оригинал: “https://dev.to/stokry/how-to-count-objects-on-an-image-with-python-142h”