Виявлення об’єктів є важливим аспектом комп’ютерного бачення, метою якого є ідентифікація та визначення місцезнаходження об’єктів на зображенні. Одним із способів позначення розташування об’єкта на зображенні є обмежувальна рамка. Обмежувальна рамка — це прямокутна рамка, яку можна обчислити за допомогою простого механізму, який включає базову математичну функцію мінімізації та максимізації.
Коробка, крім того, може бути представлена двома координатами: (x, y) у верхньому лівому куті та (x, y) у нижньому правому куті. Ця інформація є важливою в різних реальних програмах, обслуговуючи професіоналів від тих, хто займається спостереженням, до індустрії безпілотних автомобілів.
Постановка та розв’язання проблеми
Основна проблема, з якою ми стикаємося під час виявлення зображень і об’єктів, полягає в тому, як точно визначити розташування об’єкта на зображенні. Рішення полягає у використанні обмежувальної рамки, яку можна обчислити за допомогою простого механізму, який включає різні бібліотеки Python.
Python є чудовим вибором для цього завдання, оскільки він має багаті бібліотеки та інструменти, які спрощують процес, роблять його ефективним і простим. Зазвичай використовуються дві основні бібліотеки – OpenCV і Matplotlib.
Підхід OpenCV і Matplotlib
OpenCV розшифровується як бібліотека комп’ютерного зору з відкритим вихідним кодом і включає кілька сотень алгоритмів комп’ютерного зору. З іншого боку, Matplotlib — це бібліотека для побудови графіків для мови програмування Python та її розширення чисельної математики NumPy. Він надає як дуже швидкий спосіб візуалізації даних з Python, так і показники якості публікації в багатьох форматах.
import cv2 import matplotlib.pyplot as plt # read image image = cv2.imread('input.jpg') # our bounding box coordinates box = (x1, y1, x2, y2) # Draw rectangle (bounding box) cv2.rectangle(image, (box[0], box[1]), (box[2], box[3]), (0, 255, 0), 2) # Display the image with bounding box plt.imshow(image) plt.show()
Зображення завантажується за допомогою методу imread з cv2, а потім за допомогою функції cv2.rectangle малюється обмежувальна рамка, яка приймає зображення та дві координати, представлені 'box'. Останні два параметри - колір і товщина відповідно. Цей код демонструватиме об’єкти на вашому зображенні, повністю обмежені рамкою.
Використання обмежувальних рамок
Підсумовуючи, обмежувальні рамки відіграють життєво важливу роль у задачах комп’ютерного зору, включаючи виявлення об’єктів, комп’ютерне бачення та обробку зображень. Вони пропонують ефективне та ефективне рішення для визначення місцезнаходження об’єктів та метаданих у зображеннях. Навчання точному застосуванню обмежувальних рамок у Python може принести величезну користь будь-кому, хто займається розробкою програмного забезпечення, машинним навчанням або кар’єрою ШІ. Це не тільки корисно для забезпечення безпеки та спостереження, але й значно допомагає в таких програмах, як виявлення та розпізнавання облич, виявлення пішоходів і вдосконалені системи допомоги водієві (ADAS) у безпілотних автомобілях.