Hlavním problémem ohraničovacích rámečků v Pythonu je, že nejsou příliš přesné.
def bounding_box(x, y, width, height): return (x - width/2, y - height/2, x + width/2, y + height/2)
Toto je definice funkce. Funkce přebírá čtyři argumenty – x, y, šířku a výšku – a vrací n-tici čtyř hodnot – souřadnice levého horního rohu a pravého dolního rohu ohraničovacího rámečku.
Ohraničující rámeček
Ohraničující rámeček je dvourozměrný objekt, který uzavírá všechny body uvnitř svých hranic. V Pythonu lze vytvořit ohraničující rámeček pomocí funkce bbox.
OpenCV
OpenCV je knihovna pro počítačové vidění a zpracování obrazu. Lze jej použít ke zpracování obrázků a videí, detekci objektů, sledování pohybujících se objektů a provádění rozpoznávání obličeje. OpenCV je bezplatný a open source software vydaný pod GNU General Public License.
Extrahujte ohraničovací rámeček
V Pythonu můžete použít ohraničovací rámeček vestavěné funkce k získání ohraničovacího rámečku daného objektu. Tato funkce má dva argumenty: objekt, který má být ohraničen, a parametr velikosti. Funkce vrací n-tici obsahující (x, y, šířka, výška).
Zde je příklad, který používá funkci ohraničovacího rámečku k získání ohraničovacího rámečku daného objektu:
>>> obj = Object() >>> obj.size = (10, 10, 100, 100) >>> bbox = obj.bounding_box() >>> print(bbox) (10, 10, 100, 100)