def test_mindimsforrect_3(): ''' min_scalar_wdith examples: that collide with bounds ''' BOUNDS = (480, 640) rect = (0, 0, 100, 10) out = Display.minDimsForRect(rect, BOUNDS, min_scalar_width=20, max_multiple_width=None) assert out == (0, 0, 100, 20) rect = (630, 100, 10, 100) out = Display.minDimsForRect(rect, BOUNDS, min_scalar_width=20, max_multiple_width=None) assert out == (620, 100, 20, 100) rect = (630, 100, 10, 100) out = Display.minDimsForRect(rect, BOUNDS, min_scalar_width=20, max_multiple_width=None) assert out == (620, 100, 20, 100)
def test_mindimsforrect_1(): ''' simple min_scalar_wdith examples ''' BOUNDS = (480, 640) rect = (100, 100, 100, 10) out = Display.minDimsForRect(rect, BOUNDS, min_scalar_width=20, max_multiple_width=None) assert out == (100, 95, 100, 20) rect = (100, 100, 10, 100) out = Display.minDimsForRect(rect, BOUNDS, min_scalar_width=20, max_multiple_width=None) assert out == (95, 100, 20, 100) rect = (100, 100, 10, 10) out = Display.minDimsForRect(rect, BOUNDS, min_scalar_width=20, max_multiple_width=None) assert out == (95, 95, 20, 20)
def test_mindimsforrect_4(): ''' check that max_multiple_wdith does not interfere with min_scalar_width ''' BOUNDS = (480, 640) rect = (100, 100, 100, 10) out = Display.minDimsForRect(rect, BOUNDS, min_scalar_width=20, max_multiple_width=20) assert out == (100, 95, 100, 20) rect = (100, 100, 10, 100) out = Display.minDimsForRect(rect, BOUNDS, min_scalar_width=20, max_multiple_width=20) assert out == (95, 100, 20, 100)
def test_mindimsforrect_2(): ''' min_scalar_wdith with non modulo-zero expansion ''' BOUNDS = (480, 640) rect = (100, 100, 100, 5) out = Display.minDimsForRect(rect, BOUNDS, min_scalar_width=10, max_multiple_width=None) assert out == (100, 97, 100, 10)
def test_display_rectToCircle(): rect = (0, 0, 10, 10) x, y, r = Display.rectToCircle(rect) assert x == 5 assert y == 5 assert r == 5 rect = (2, 1, 10, 12) x, y, r = Display.rectToCircle(rect) assert x == 7 assert y == 7 assert r == 5 rect = (2, 1, 11, 12) x, y, r = Display.rectToCircle(rect) assert x == 7 assert y == 7 assert r == 5
outputFactory = OutputFactory() outputFactory.setOutputDir(directoryFactory.initDir) outputFactory.setBatchState(b_batch_output, i_batch_output_enum, l_batch_output_list, s_batch_db_pathfn) if b_gui: gui = GuiC() guiInterface = GuiInterface(gui) guiInterface.initGui(playOnVal=g.playOn, frameDelayVal=g.frameDelay) display = Display() display.setInit(showOn=b_show, scoreOff=b_scoreoff, frameResize=b_resize, frameAnnotateFn=b_annotate_fn) evalFactory = EvalFactory(on=b_eval, dbPathFn=s_eval_db_pathfn, bLog=b_eval_log) #Video Loop: init a new video-file at top -------------- while (True): frameFactory = FrameFactory()
def all_display_methods( self, b_show=False, b_scoreoff=False, b_resize=True, b_annotate_fn=False, b_showscoring=False, i_scoringenum=0, switchZoom=False, switchRoiMain=False, switchRoiZoom=False, switchSelectReset=False, trackObjEnum=False, trackTypeEnum=False, windowTwo=False, windowThree=False, annotateObjEnum=False, cmdSelectReset=False, stub_orientation=0 # notesFactory.getOrientation() , stub_vidFn="" # directoryFactory.vidFn() , stub_needscore=False # outputFactory.needScore() , stub_trackscore=None # trackFactory.getTrackScore() , stub_callreset=False # trackFactory.getTrackOnChange() , stub_scorecurrent=None # notesFactory.getFrameScoreCurrent() , stub_frame=None # frameFactory.getFrame() , stub_globalsOn=False # func will not get/set "g.X" globals ): #init display = Display() display.setInit(showOn=b_show, scoreOff=b_scoreoff, frameResize=b_resize, frameAnnotateFn=b_annotate_fn) #byVid display.setOrientation(stub_orientation) display.setShowScoring(b_showscoring) display.setScoreDisplayObjEnum(i_scoringenum) display.reset() #byFrame display.setCmd(cmdSelectZoom=switchZoom, cmdSelectRoiMain=switchRoiMain, cmdSelectRoiZoom=switchRoiZoom, trackObjEnum=trackObjEnum, trackTypeEnum=trackTypeEnum, windowTwo=windowTwo, windowThree=windowThree, annotateObjEnum=annotateObjEnum, cmdSelectReset=switchSelectReset, globalsOn=stub_globalsOn) #output display.getScoring(stub_needscore) #track display.setTrack(trackScore=stub_trackscore) if stub_callreset: display.resetOperators() #ret display.setFrame(stub_frame) display.setAnnotateMsg(stub_vidFn) display.setScoring(stub_scorecurrent) display.alterFrame() display.drawOperators() display.drawTrackers() display.adjustOrient() display.show() self.data = display
for i, clr in enumerate(hi): if clr > _hi[i]: _hi[i] = clr return (np.array(_lo, dtype='uint8'), np.array(_hi, dtype='uint8')) if __name__ == "__main__": sys.path.append("../") from modules.ControlDisplay import Display cam = cv2.VideoCapture("../data/proc/hello-training-data/output4.avi") ret, frame = cam.read() display = Display() trackFactory = TrackFactory(on=True) display.setFrame(frame) trackFactory.setInit(ballColor="green") trackFactory.setFrame(frame) trackFactory.trackFrame() roi = trackFactory.getCurrentTrackRoi() if roi is not None: roi = (int(roi[0]) - 20, int(roi[1]) - 20, 40, 40) print roi circle = trackFactory.getCurrentTrackCircle()