def main(): print "main" #num_processorhandlers = min(1,mproc.cpu_count-1) num_workhandlers = 2 # set up data pipes and queue result_queue = mproc.Queue() datapipes = [mproc.Pipe(False) for i in xrange(num_workhandlers)] h_input = H.InputHandler( [datapipes[i][1] for i in xrange(num_workhandlers)], [inpSFG.inpSimpleFrameGrabber()]) h_work = [H.WorkerHandler( datapipes[i][0], result_queue, [wrkDev.wrkDev()]) for i in xrange(num_workhandlers)] waittime = [0,0] for i, handler in enumerate(h_work): handler.setup(waittime[i]) h_output = H.OutputHandler(result_queue, [outSD.outSimpleDisplay()]) processes = list([h_input, h_output]) processes.extend(h_work) # start all the processes [p.start() for p in processes] #h_input.start() #h_output.start() #h_work[0].start() # cleaning up h_input.join() #close the input handler [handler.join() for handler in h_work] #wait for the workers to finish h_output.join() #wait for ouput to finish writing result_queue.close() #close the result_queue.join_thread()
""" import time import cv2 import plugins.inpSimpleFrameGrabber as inpSFG import plugins.inpAveragingFrameGrabber as inpAFG import plugins.wrkNull as wrkNull import plugins.wrkInvert as wrkInv import plugins.wrkEdgeFit as wrkEdge import plugins.outSimpleDisplay as outSD import plugins.outHistogram as outHG inp = inpSFG.inpSimpleFrameGrabber() inp1 = inpAFG.inpAveragingFrameGrabber() #wrk0 = wrkNull.wrkNull() #wrk1 = wrkInv.wrkInvert() wrk2 = wrkEdge.wrkEdgeFit() out0 = outSD.outSimpleDisplay() #display orginal out1 = outSD.outSimpleDisplay() # display brighened orignal with edges overlay in red out2 = outHG.outHistogram() inp.setup() inp1.setup()