Основният проблем с ограничаващите полета в Python е, че те не са много точни.
def bounding_box(x, y, width, height): return (x - width/2, y - height/2, x + width/2, y + height/2)
Това е дефиниция на функция. Функцията приема четири аргумента – x, y, ширина и височина – и връща кортеж от четири стойности – координатите на горния ляв ъгъл и долния десен ъгъл на ограничителна кутия.
Ограничителна кутия
Ограничаваща кутия е двуизмерен обект, който обхваща всички точки в своите граници. В Python може да се създаде ограничителна рамка с помощта на функцията bbox.
OpenCV
OpenCV е библиотека за компютърно зрение и обработка на изображения. Може да се използва за обработка на изображения и видеоклипове, откриване на обекти, проследяване на движещи се обекти и извършване на разпознаване на лица. OpenCV е безплатен софтуер с отворен код, издаден под GNU General Public License.
Извличане на ограничителна кутия
В Python можете да използвате вградената функция за ограничаване на рамката, за да получите ограничителната рамка на даден обект. Тази функция приема два аргумента: обектът, който трябва да бъде ограничен, и параметър за размер. Функцията връща кортеж, съдържащ (x, y, ширина, височина).
Ето пример, който използва функцията за ограничаваща рамка, за да получи ограничителната рамка на даден обект:
>>> obj = Object() >>> obj.size = (10, 10, 100, 100) >>> bbox = obj.bounding_box() >>> print(bbox) (10, 10, 100, 100)