1,2K подписчиков

Обнаружение объектов на изображении при помощи Python

Введение В данной статье напишем код на Python для обнаружения объектов на изображении.

Введение

В данной статье напишем код на Python для обнаружения объектов на изображении.

Установка и импорт необходимых библиотек

Перед написанием кода нам необходимо установить и импортировать библиотеки cv2, cvlib и tensorflow, без которой не будет работать cvlib. Сделать это можно через pip:

pip install cvlib tensorflow opencv-python

После их инсталляции мы импортируем всё необходимое:

import cv2
import cvlib as cv
from cvlib.object_detection import draw_bbox

Написание кода «Обнаружение объектов на изображении при помощи Python»

Для начала необходимо загрузить изображение, на котором нужно получить объекты:

import cv2
import cvlib as cv
from cvlib.object_detection import draw_bbox

image = cv2.imread(r"путь_к_изображению")

Далее обнаружим объекты на изображении при помощи функции detect_common_objects():

import cv2
import cvlib as cv
from cvlib.object_detection import draw_bbox

image = cv2.imread(r"путь_к_изображению")
box, label, count = cv.detect_common_objects(image)

  • image — входное изображение, на котором нужно обнаружить объекты.
  • box — список прямоугольных рамок, которые охватывают обнаруженные объекты на изображении.
  • label — список меток, которые соответствуют обнаруженным объектам.
  • count — количество обнаруженных объектов на изображении.

Нарисуем рамки вокруг обнаруженных объектов:

import cv2
import cvlib as cv
from cvlib.object_detection import draw_bbox

image = cv2.imread(r"путь_к_изображению")
box, label, count = cv.detect_common_objects(image)
output = draw_bbox(image, box, label, count)

Сохраним итоговое изображение с рамками:

import cv2
import cvlib as cv
from cvlib.object_detection import draw_bbox

image = cv2.imread(r"путь_к_изображению")
box, label, count = cv.detect_common_objects(image)
output = draw_bbox(image, box, label, count)

cv2.imwrite("Output.png", output)
cv2.waitKey(0)
cv2.destroyAllWindows()

Пример работы кода

Исходное изображение:

     Исходное изображение, на котором необходимо найти объекты Admin
Исходное изображение, на котором необходимо найти объекты Admin

Итоговое изображение:

     Итоговое изображение, на котором обнаружены объекты Admin
Итоговое изображение, на котором обнаружены объекты Admin

Заключение

В ходе статьи мы с Вами написали код на Python для обнаружения объектов на изображении. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂

Мой Telegram канал

Мой YouTube канал

Мой курс по Python (50 видоуроков + дополнительные уроки)

Курс по созданию телеграм-ботов на Python с фреймворком Aiogram

Курс по созданию GUI на Python