Coding Your Own Object Detection Program terug naar de inleiding
Het coderen van een object detectie programma
In dit programma worden geen commandline argumenten gecodeerd. Alle instellingen zijn een onderdeel van het programma
1) de modules importeren
net is een object van het type detectNet
net = jetson.inference.detectNet("ssd-mobilenet-v2", threshold=0.5)
3) camera object creeren en initieeren van het type gstCamera
camera = jetson.utils.gstCamera(1280, 720, "0")
display = jetson.utils.glDisplay() #display komt in een while loop die blijft draaien zolang IsOpen() true is
while display.IsOpen():
De volgende coderegels 5, 6 en 7 zijn een onderdeel van de while loop (of main loop)
5) camera beelden vangen (Camera Capture)
img, width, height = camera.CaptureRGBA() #CaptureRGBA() is een methode van de class gstCamera
Detect is een methode van de class detectNet
detections = net.Detect(img, width, height)
RenderOnce en SetTitle zijn methodes van de class glDisplay
display.SetTitle("Object Detection | Network {:.0f} FPS".format(net.GetNetworkFPS()))
De code van het programma deze in een editor copieeren , een naam geven bijv objdet.py en opslaan
het programma uitvoeren met het commando: python objdet.py
import jetson.inference
import jetson.utils
net = jetson.inference.detectNet("ssd-mobilenet-v2", threshold=0.5)
camera = jetson.utils.gstCamera(1280, 720, "0")
display = jetson.utils.glDisplay()
while display.IsOpen():
img, width, height = camera.CaptureRGBA()
detections = net.Detect(img, width, height)
display.RenderOnce(img, width, height)
display.SetTitle("Object Detection | Network {:.0f} FPS".format(net.GetNetworkFPS()))