(event, framequeue, samplequeue, pupthreshold, \
	glintthreshold, facedetect, eyedetect, minfacesize, Lexpect, Rexpect, \
	maxpupdist, maxpupsize, glintdetect, pupsizemode)
Continuously obtains frames from the framequeue, processes them into
	samples, and puts those samples in the samplequeue.
	
	Arguments
	
	framequeue		-	A multiprocessing.Queue instance that contains
					frames. The _frame_processer will check if any
					new frames are available from the framequeue, and
					it will take them out.
					
	
	samplequeue		-	A multiprocessing.Queue instance that is used by
					the _frame_processer to put samples in.
Continuously obtains frames from the framequeue, processes them into
	samples, and puts those samples in the samplequeue.
	
	Arguments
	
	framequeue		-	A multiprocessing.Queue instance that contains
					frames. The _frame_processer will check if any
					new frames are available from the framequeue, and
					it will take them out.
					
	
	samplequeue		-	A multiprocessing.Queue instance that is used by
					the _frame_processer to put samples in.
Continuously obtains frames from the framequeue processes them into samples and puts those samples in the samplequeue . Arguments framequeue - A multiprocessing . Queue instance that contains frames . The _frame_processer will check if any new frames are available from the framequeue and it will take them out . samplequeue - A multiprocessing . Queue instance that is used by the _frame_processer to put samples in .
def _frame_processer(event, framequeue, samplequeue, pupthreshold, \
	glintthreshold, facedetect, eyedetect, minfacesize, Lexpect, Rexpect, \
	maxpupdist, maxpupsize, glintdetect, pupsizemode):
	
	"""Continuously obtains frames from the framequeue, processes them into
	samples, and puts those samples in the samplequeue.
	
	Arguments
	
	framequeue		-	A multiprocessing.Queue instance that contains
					frames. The _frame_processer will check if any
					new frames are available from the framequeue, and
					it will take them out.
					
	
	samplequeue		-	A multiprocessing.Queue instance that is used by
					the _frame_processer to put samples in.
	"""

	# CASCADING ALGORITHMS FOR FACE AND EYE DETECTION
	# Initialise the cascading algorithms for face and eye detection.
	# NOTE: Credit for and an explanation of the following classifiers
	# can be found on OpenCV's documentation website. Please see:
	# http://docs.opencv.org/3.1.0/d7/d8b/tutorial_py_face_detection.html
	face_cascade = cv2.CascadeClassifier(_FACECASCADE)
	eye_cascade = cv2.CascadeClassifier(_EYECASCADE)
	
	# Continuously run.
	while event.is_set():

		# Only look for frames if the Queue isn't empty.
		if not framequeue.empty():

			# Get a new frame from the frame queue. The Queue should
			# handle locking internally, so we don't have to worry about
			# simultaneous attempts to access the Queue by processes.
			t, frame = framequeue.get()
		
			# Process the frame to get a sample.
			LR = _get_sample(frame, pupthreshold, glintthreshold, \
				face_cascade, eye_cascade, facedetect, eyedetect, \
				minfacesize, Lexpect, Rexpect, maxpupdist, maxpupsize, \
				glintdetect, pupsizemode)
			
			# Put the sample in the Queue. The Queue should
			# handle locking internally, so we don't have to worry about
			# simultaneous attempts to access the Queue by processes.
			samplequeue.put([t, LR])
def _frame_processer ( event , framequeue , samplequeue , pupthreshold , glintthreshold , facedetect , eyedetect , minfacesize , Lexpect , Rexpect , maxpupdist , maxpupsize , glintdetect , pupsizemode ) : # CASCADING ALGORITHMS FOR FACE AND EYE DETECTION # Initialise the cascading algorithms for face and eye detection. # NOTE: Credit for and an explanation of the following classifiers # can be found on OpenCV's documentation website. Please see: # http://docs.opencv.org/3.1.0/d7/d8b/tutorial_py_face_detection.html face_cascade = cv2 . CascadeClassifier ( _FACECASCADE ) eye_cascade = cv2 . CascadeClassifier ( _EYECASCADE ) # Continuously run. while event . is_set ( ) : # Only look for frames if the Queue isn't empty. if not framequeue . empty ( ) : # Get a new frame from the frame queue. The Queue should # handle locking internally, so we don't have to worry about # simultaneous attempts to access the Queue by processes. t , frame = framequeue . get ( ) # Process the frame to get a sample. LR = _get_sample ( frame , pupthreshold , glintthreshold , face_cascade , eye_cascade , facedetect , eyedetect , minfacesize , Lexpect , Rexpect , maxpupdist , maxpupsize , glintdetect , pupsizemode ) # Put the sample in the Queue. The Queue should # handle locking internally, so we don't have to worry about # simultaneous attempts to access the Queue by processes. samplequeue . put ( [ t , LR ] )