text: # author:    Adrian Rosebrock
  # website:   http://www.pyimagesearch.com
  
  # USAGE
  # BE SURE TO INSTALL 'imutils' PRIOR TO EXECUTING THIS COMMAND
  # python fps_demo.py
  # python fps_demo.py --display 1
  
  # import the necessary packages
  from __future__ import print_function
  from imutils.video import JetsonVideoStream
  from imutils.video import FPS
  import argparse
  import imutils
  import cv2
  import time
  
  # construct the argument parse and parse the arguments
  ap = argparse.ArgumentParser()
  ap.add_argument("-n", "--num-frames", type=int, default=500,
  	help="# of frames to loop over for FPS test")
  ap.add_argument("-d", "--display", type=int, default=1,
  	help="Whether or not frames should be displayed")
  args = vars(ap.parse_args())
  
  
  # created a *threaded *video stream, allow the camera senor to warmup,
  # and start the FPS counter
  print("[INFO] sampling THREADED frames from webcam...")
  
  frameResolution = (960, 460)
  jvs = JetsonVideoStream(outputResolution=frameResolution)
  jvs.start()
  fps = FPS().start()
  
  # loop over some frames...this time using the threaded stream
  while fps._numFrames < args["num_frames"]:
  	# grab the frame from the threaded video stream and resize it
  
  	frame = jvs.read()
  	# frame = imutils.resize(frame, width=960//2)
  
  	# check to see if the frame should be displayed to our screen
  	if args["display"] > 0:
  		cv2.imshow("Frame", frame)
  		key = cv2.waitKey(1) & 0xFF
  
  	# update the FPS counter
  	fps.update()
  
  # stop the timer and display FPS information
  fps.stop()
  print("[INFO] elasped time: {:.2f}".format(fps.elapsed()))
  print("[INFO] approx. FPS: {:.2f}".format(fps.fps()))
  
  # do a bit of cleanup
  jvs.stop()
  cv2.destroyAllWindows()
  
  time.sleep(1.0)
  exit()