Het grootste probleem met begrenzingsvakken in Python is dat ze niet erg nauwkeurig zijn.
def bounding_box(x, y, width, height):
return (x - width/2, y - height/2, x + width/2, y + height/2)
Dit is een functiedefinitie. De functie neemt vier argumenten - x, y, breedte en hoogte - en retourneert een tuple van vier waarden - de coördinaten van de linkerbovenhoek en de rechteronderhoek van een selectiekader.
Omsluitend kader
Een begrenzingskader is een tweedimensionaal object dat alle punten binnen zijn grenzen omsluit. In Python kan een begrenzingskader worden gemaakt met behulp van de bbox-functie.
OpenCV
OpenCV is een bibliotheek voor computervisie en beeldverwerking. Het kan worden gebruikt om afbeeldingen en video's te verwerken, objecten te detecteren, bewegende objecten te volgen en gezichtsherkenning uit te voeren. OpenCV is gratis en open source software vrijgegeven onder de GNU General Public License.
Pak het begrenzingsvak uit
In Python kun je het ingebouwde functiekader gebruiken om het kader van een bepaald object te krijgen. Deze functie heeft twee argumenten: het object dat moet worden begrensd en een grootteparameter. De functie retourneert een tuple die (x, y, width, height) bevat.
Hier is een voorbeeld dat de functie begrenzingskader gebruikt om het begrenzingskader van een bepaald object op te halen:
>>> obj = Object() >>> obj.grootte = (10, 10, 100, 100) >>> bbox = obj.bounding_box() >>> print(bbox) (10, 10, 100, 100)