def recordOutput(): output = "\nTOTAL FILTER TIME:\t "+str(time)+"\n\nAVERAGE TIME PER FRAME:\t "+str(time/numFrames)+"\n\nAVERAGE FRAMES PER SECOND:\t "+str(1 / (time / numFrames))+"\n\nTOTAL TIME INCLUDING CAPTURE:\t "+str(total)+"\n\nAVERAGE TIME PER FRAME INCLUDING CAPTURE:\t "+str(total/numFrames)+"\n\nAVERAGE FRAMES PER SECOND INCLUDING CAPTURE:\t "+str(1 / (total/numFrames))+"\n\nTOTAL KNOWN CAPTURE TIME:\t "+str(timeCapture)+"\n\nAVERAGE CAPTURE TIME PER FRAME:\t "+str(timeCapture / numFrames)+"\n\nAVERAGE CAPTURE FPS:\t "+str(1/ (timeCapture / numFrames))+"\n\nSTOPPED AT FRAME:\t "+str(numFrames)+" OUT OF: "+str(controlFrames)+"\n\n" print output if doOutput: try: fil = open(outputDir, "r") fil.close() except: fil = open(outputDir, "w") fil.close() f = open(outputDir, "a") f.write(output) f.write("================================================================") f.write("\n\n") f.write("================================================================") f.close() queue.close() queue.join_thread() p.join()
def recordOutput(): output = "\nTOTAL FILTER TIME:\t " + str( time) + "\n\nAVERAGE TIME PER FRAME:\t " + str( time / numFrames) + "\n\nAVERAGE FRAMES PER SECOND:\t " + str( 1 / (time / numFrames) ) + "\n\nTOTAL TIME INCLUDING CAPTURE:\t " + str( total ) + "\n\nAVERAGE TIME PER FRAME INCLUDING CAPTURE:\t " + str( total / numFrames ) + "\n\nAVERAGE FRAMES PER SECOND INCLUDING CAPTURE:\t " + str( 1 / (total / numFrames) ) + "\n\nTOTAL KNOWN CAPTURE TIME:\t " + str( timeCapture) + "\n\nAVERAGE CAPTURE TIME PER FRAME:\t " + str( timeCapture / numFrames) + "\n\nAVERAGE CAPTURE FPS:\t " + str( 1 / (timeCapture / numFrames) ) + "\n\nSTOPPED AT FRAME:\t " + str( numFrames) + " OUT OF: " + str(controlFrames) + "\n\n" print output if doOutput: try: fil = open(outputDir, "r") fil.close() except: fil = open(outputDir, "w") fil.close() f = open(outputDir, "a") f.write(output) f.write( "================================================================") f.write("\n\n") f.write( "================================================================") f.close() queue.close() queue.join_thread() p.join()
output = filt.run(filt.image) capture.truncate(0) capture.seek(0) e2 = cv2.getTickCount() time += (e2 - e1) / cv2.getTickFrequency() numFrames += 1 if controlFrames != 0 and numFrames >= controlFrames: break elif cType == 3: camera.capture_sequence(outputs(), 'jpeg', use_video_port=True) except KeyboardInterrupt: breaking = True tot2 = cv2.getTickCount() totalTime = (tot2-tot1) / cv2.getTickFrequency() # print "Test %i with settings %i: Captured %i frames at total fps of %.2f, with internal fps of %.2f. Saw a contour in %i frames." % (i, cType, numFrames, numFrames/totalTime, numFrames/time, goodFrames) out += "Test %i with settings %i:\tCaptured %i frames at total fps of %.2f, with internal fps of %.2f. Saw a contour in %i frames.\n" % (i, cType, numFrames, numFrames/totalTime, numFrames/time, filt.contourCount) if breaking: print "BREAKING OUT" break try: f = open(outputDir, "r") except: f = open(outputDir, "w") f.write(str(outputDir)+": A place to store data from various Baseline tests.") f.close() print out f = open(outputDir, "a") f.write(out) f.close()
) + "\n\nTOTAL TIME INCLUDING CAPTURE:\t " + str( total ) + "\n\nAVERAGE TIME PER FRAME INCLUDING CAPTURE:\t " + str( total / numFrames ) + "\n\nAVERAGE FRAMES PER SECOND INCLUDING CAPTURE:\t " + str( 1 / (total / numFrames)) + "\n\nSTOPPED AT FRAME:\t " + str( numFrames) + "\n\nWAITED FOR:\t " + str( waits * (time / numFrames)) + " SECONDS!\n\n" print output if doOutput: try: fil = open(outputDir, "r") fil.close() except: fil = open(outputDir, "w") fil.close() f = open(outputDir, "a") f.write(output) f.write( "================================================================") f.write("\n\n") f.write( "================================================================") f.close() # Shut down the processors in an orderly fashion while pool: with lock: processor = pool.pop() processor.terminated = True processor.join()
frame = cv2.medianBlur(frame, 5) frameHSV = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) blue_area = blue_filt.work(frameHSV) green_area = green_filt.work(frameHSV) red_area = red_filt.work(frameHSV) detection_signal = 0 if blue_area > 30000: detection_signal += 1 if green_area > 25000: detection_signal += 2 if red_area > 5000: detection_signal += 4 if prev_sig != detection_signal: print("r : {} g : {} b : {} sig : {}".format(red_area, green_area, blue_area, detection_signal)) ser.write(chr(detection_signal)) prev_sig = detection_signal cv2.imshow("Show", frame) k = cv2.waitKey(5) & 0xFF if k == 27: break cv2.destroyAllWindows() blue_filt.close() green_filt.close() red_filt.close()