def tracker_init(): (major_ver, minor_ver, subminor_ver) = (cv2.__version__).split('.') tracker_types = ['BOOSTING', 'MIL', 'KCF', 'TLD', 'MEDIANFLOW', 'GOTURN'] tracker_type = tracker_types[2] if int(minor_ver) < 3: tracker = cv2.Tracker_create(tracker_type) else: if tracker_type == 'BOOSTING': tracker = cv2.TrackerBoosting_create() if tracker_type == 'MIL': tracker = cv2.TrackerMIL_create() if tracker_type == 'KCF': tracker = cv2.TrackerKCF_create() if tracker_type == 'TLD': tracker = cv2.TrackerTLD_create() if tracker_type == 'MEDIANFLOW': tracker = cv2.TrackerMedianFlow_create() if tracker_type == 'GOTURN': tracker = cv2.TrackerGOTURN_create() return tracker
def ask_for_tracker(): print("select api") print("boosting -0: ") print("MIL-1: ") print("KCF-2: ") print("TLD-3: ") print("median flow-4: ") choice = int(input("Please select your tracker: ")) if choice == 0: tracker = cv2.TrackerBoosting_create() if choice == 1: tracker = cv2.TrackerMIL_create() if choice == 2: tracker = cv2.TrackerKCF_create() if choice == 3: tracker = cv2.TrackerTLD_create() if choice == 4: tracker = cv2.TrackerMedianFlow_create() return tracker
def _get_tracker(self, name): tracker = None if name == 'Boosting': tracker = cv.TrackerBoosting_create() elif name == 'MIL': tracker = cv.TrackerMIL_create() elif name == 'KCF': tracker = cv.TrackerKCF_create() elif name == 'TLD': tracker = cv.TrackerTLD_create() elif name == 'MedianFlow': tracker = cv.TrackerMedianFlow_create() elif name == 'GOTURN': tracker = cv.TrackerGOTURN_create() elif name == 'MOSSE': tracker = cv.TrackerMOSSE_create() elif name == 'CSRT': tracker = cv.TrackerCSRT_create() else: raise RuntimeError('Unrecognized tracker type: {}'.format(name)) return tracker
def ask_for_tracker(): print("Welcome! What Tracker API would you like to use?") print("Enter 0 for BOOSTING: ") print("Enter 1 for MIL: ") print("Enter 2 for KCF: ") print("Enter 3 for TLD: ") print("Enter 4 for MEDIANFLOW: ") choice = input("Please select your tracker: ") if choice == '0': tracker = cv2.TrackerBoosting_create() if choice == '1': tracker = cv2.TrackerMIL_create() if choice == '2': tracker = cv2.TrackerKCF_create() if choice == '3': tracker = cv2.TrackerTLD_create() if choice == '4': tracker = cv2.TrackerMedianFlow_create() return tracker
def make_tracker(self): tracker_type = "KCF" if tracker_type == 'BOOSTING': tracker = cv2.TrackerBoosting_create() if tracker_type == 'MIL': tracker = cv2.TrackerMIL_create() if tracker_type == 'KCF': tracker = cv2.TrackerKCF_create() if tracker_type == 'TLD': tracker = cv2.TrackerTLD_create() if tracker_type == 'MEDIANFLOW': tracker = cv2.TrackerMedianFlow_create() if tracker_type == 'GOTURN': tracker = cv2.TrackerGOTURN_create() if tracker_type == 'MOSSE': tracker = cv2.TrackerMOSSE_create() if tracker_type == "CSRT": tracker = cv2.TrackerCSRT_create() # bbox = cv2.selectROI(self.rawframe, self.targetbounds) tracker.init(self.rawframe, self.targetbounds) return tracker
def tracker__init(tracker_type): tracker = None if tracker_type == 'BOOSTING': tracker = cv2.TrackerBoosting_create() if tracker_type == 'MIL': tracker = cv2.TrackerMIL_create() if tracker_type == 'KCF': tracker = cv2.TrackerKCF_create() if tracker_type == 'TLD': tracker = cv2.TrackerTLD_create() if tracker_type == 'MEDIANFLOW': tracker = cv2.TrackerMedianFlow_create() if tracker_type == 'GOTURN': tracker = cv2.TrackerGOTURN_create() if tracker_type == 'MOSSE': tracker = cv2.TrackerMOSSE_create() if tracker_type == "CSRT": tracker = cv2.TrackerCSRT_create() return tracker
def select_tracker(): print("Which Tracker API do you use?") print("0: Boosting") print("1: MIL") print("2: KCF") print("3: TLD") print("4: MedianFlow") choice = input("Please select your tracker number: ") if choice == '0': tracker = cv2.TrackerBoosting_create() if choice == '1': tracker = cv2.TrackerMIL_create() if choice == '2': tracker = cv2.TrackerKCF_create() if choice == '3': tracker = cv2.TrackerTLD_create() if choice == '4': tracker = cv2.TrackerMedianFlow_create() return tracker
def track(self, rgbFrame, startX, startY, endX, endY): if self.tracker_type == 'BOOSTING': tracker = cv2.TrackerBoosting_create() if self.tracker_type == 'MIL': tracker = cv2.TrackerMIL_create() if self.tracker_type == 'KCF': tracker = cv2.TrackerKCF_create() if tracker_type == 'TLD': tracker = cv2.TrackerTLD_create() if self.tracker_type == 'MEDIANFLOW': tracker = cv2.TrackerMedianFlow_create() if self.tracker_type == 'GOTURN': tracker = cv2.TrackerGOTURN_create() if self.tracker_type == 'MOSSE': tracker = cv2.TrackerMOSSE_create() if self.tracker_type == "CSRT": tracker = cv2.TrackerCSRT_create() rect = (startX, startY, endX, endY) return self.multiTracker.add(tracker, rgbFrame, rect)
def creatTracker(): if int(minor_ver) < 3: tracker = cv2.Tracker_create(tracker_type) else: if tracker_type == 'BOOSTING': tracker = cv2.TrackerBoosting_create() if tracker_type == 'MIL': tracker = cv2.TrackerMIL_create() if tracker_type == 'KCF': tracker = cv2.TrackerKCF_create() if tracker_type == 'TLD': tracker = cv2.TrackerTLD_create() if tracker_type == 'MEDIANFLOW': tracker = cv2.TrackerMedianFlow_create() if tracker_type == 'GOTURN': tracker = cv2.TrackerGOTURN_create() if tracker_type == 'MOSSE': tracker = cv2.TrackerMOSSE_create() if tracker_type == "CSRT": tracker = cv2.TrackerCSRT_create() return tracker
def _create_tracker(tracker_algorithm): # python3 -m pip install opencv-contrib-python if tracker_algorithm == "KCF": return cv2.TrackerKCF_create( ) # fps:17 - Default / dim düşünce performansı arttı, başarım iyi if tracker_algorithm == "CSRT": return cv2.TrackerCSRT_create( ) # fps:4 - Başarısı daha iyi ama yavaş if tracker_algorithm == "MOSSE": return cv2.TrackerMOSSE_create( ) # fps:150 - Başarı düşük ama çok hızlı / dim yükselince performansı biraz düştü ama başarı artmadı if tracker_algorithm == "MedianFlow": return cv2.TrackerMedianFlow_create() # fps:15 if tracker_algorithm == "Boosting": return cv2.TrackerBoosting_create() # fps:4 if tracker_algorithm == "MIL": return cv2.TrackerMIL_create() # fps:2 if tracker_algorithm == "TLD": return cv2.TrackerTLD_create() # fps:1 if tracker_algorithm == "GOTURN": cv2.TrackerGOTURN_create() # fps:3 raise Exception("Bad tracker_algorithm: {}".format(tracker_algorithm))
def create_tracker(frame, bbox): # bleh, write better code: tracker_type global if tracker_type == 'BOOSTING': tracker = cv2.TrackerBoosting_create() if tracker_type == 'MIL': tracker = cv2.TrackerMIL_create() if tracker_type == 'KCF': tracker = cv2.TrackerKCF_create() if tracker_type == 'TLD': tracker = cv2.TrackerTLD_create() if tracker_type == 'MEDIANFLOW': tracker = cv2.TrackerMedianFlow_create() if tracker_type == 'GOTURN': tracker = cv2.TrackerGOTURN_create() ok = tracker.init(frame, bbox) updates[tracker] = 0 untracked_cycles[tracker] = 0 return tracker
def tracker_name(tracker_type): if tracker_type == tracker_type[0]: tracker = cv2.TrackerBoosting_create() elif tracker_type == tracker_type[1]: tracker = cv2.TrackerMIL_create() elif tracker_type == tracker_type[2]: tracker = cv2.TrackerKCF_create() elif tracker_type == tracker_type[3]: tracker = cv2.TrackerTLD_create() elif tracker_type == tracker_type[4]: tracker = cv2.TrackerMedianFlow_create() elif tracker_type == tracker_type[5]: tracker = cv2.TrackerGOTURN_create() elif tracker_type == tracker_type[6]: tracker = cv2.TrackerMOSSE_create() elif tracker_type == tracker_type[7]: tracker = cv2.TrackerCSRT_create() else: tracker = None print('No Tracker Found') return tracker
def setup_tracker(ttype): tracker_types = ['BOOSTING', 'MIL', 'KCF', 'TLD', 'MEDIANFLOW', 'GOTURN'] tracker_type = tracker_types[ttype] if int(minor_ver) < 3: tracker = cv2.Tracker_create(tracker_type) else: if tracker_type == 'BOOSTING': tracker = cv2.TrackerBoosting_create() if tracker_type == 'MIL': tracker = cv2.TrackerMIL_create() if tracker_type == 'KCF': tracker = cv2.TrackerKCF_create() if tracker_type == 'TLD': tracker = cv2.TrackerTLD_create() if tracker_type == 'MEDIANFLOW': tracker = cv2.TrackerMedianFlow_create() if tracker_type == 'GOTURN': tracker = cv2.TrackerGOTURN_create() return tracker
def create_tracker(self, frame, bbox): # TODO: write better code: tracker_type is currently global if self.tracker_type == 'BOOSTING': tracker = cv2.TrackerBoosting_create() if self.tracker_type == 'MIL': tracker = cv2.TrackerMIL_create() if self.tracker_type == 'KCF': tracker = cv2.TrackerKCF_create() if self.tracker_type == 'TLD': tracker = cv2.TrackerTLD_create() if self.tracker_type == 'MEDIANFLOW': tracker = cv2.TrackerMedianFlow_create() if self.tracker_type == 'GOTURN': tracker = cv2.TrackerGOTURN_create() ok = tracker.init(frame, bbox) self.updates[tracker] = 0 self.untracked_cycles[tracker] = 0 return tracker
def main(): camera_ = 0 c = connectpyCapture(camera_) a_bgr, gr = readpyFrame(c) centers, autoROI, th = circlesROI_AUTO(gr) tracker = cv2.TrackerBoosting_create() # c = connectROI(camera_, autoROI) # # a_bgr, gr = readROIFrame(c) # Tracking initialization passing the 1st frame and the selected ROI ok = tracker.init(a_bgr, autoROI) tip = [(0, 0)] while True: autoROI = boostUpdate_AUTO(c, tracker, ok, a_bgr, autoROI, centers, gr, th, tip) if cv2.waitKey(20) & 0xFF == ord('q'): break c.stopCapture() c.disconnect() cv2.destroyAllWindows() # Save tip coordinates in a text file for future uses np.savetxt('tipinROI_camera2.txt', tip)
def __init__(self, tracker_name, configure_info=''): super(OCVTracker, self).__init__(tracker_name, configure_info) tracker_name = tracker_name.upper() assert tracker_name in ocv_tracker_types if tracker_name == 'BOOSTING': tracker = cv2.TrackerBoosting_create() elif tracker_name == 'MIL': tracker = cv2.TrackerMIL_create() elif tracker_name == 'KCF': tracker = cv2.TrackerKCF_create() elif tracker_name == 'TLD': tracker = cv2.TrackerTLD_create() elif tracker_name == 'MEDIANFLOW': tracker = cv2.TrackerMedianFlow_create() elif tracker_name == 'GOTURN': tracker = cv2.TrackerGOTURN_create() else: print("Wrong tracker name for opencv") exit() self.tracker = tracker
def single_tracker(self, tracker_type): global tracker if tracker_type == 'BOOSTING': tracker = cv2.TrackerBoosting_create() if tracker_type == 'MIL': tracker = cv2.TrackerMIL_create() if tracker_type == 'KCF': tracker = cv2.TrackerKCF_create() if tracker_type == 'TLD': tracker = cv2.TrackerTLD_create() if tracker_type == 'MEDIANFLOW': tracker = cv2.TrackerMedianFlow_create() if tracker_type == 'GOTURN': tracker = cv2.TrackerGOTURN_create() if tracker_type == 'MOSSE': tracker = cv2.TrackerMOSSE_create() if tracker_type == 'CSRT': tracker = cv2.TrackerCSRT_create() else: tracker = None return tracker
def get_tracker(): tracker_types = ['BOOSTING', 'MIL', 'KCF', 'TLD', 'MEDIANFLOW', 'GOTURN'] t_type = tracker_types[2] t = None if int(minor_ver) < 3: t = cv2.Tracker_create(t_type) else: if t_type == 'BOOSTING': t = cv2.TrackerBoosting_create() if t_type == 'MIL': t = cv2.TrackerMIL_create() if t_type == 'KCF': t = cv2.TrackerKCF_create() if t_type == 'TLD': t = cv2.TrackerTLD_create() if t_type == 'MEDIANFLOW': t = cv2.TrackerMedianFlow_create() if t_type == 'GOTURN': t = cv2.TrackerGOTURN_create() return t, t_type
def ask_for_tracker(): print("select the API you want to use for the face detection...") print('Enter the 0 for the BOOSTING API') print('Enter the 1 for the MIL API') print('Enter the 2 for the KCF API') print('Enter the 3 for the TLD API') print('Enter the 4 for the MEDIANFLOW API') choice = input('please select the tracker you want: ') if choice == '0': tracker = cv2.TrackerBoosting_create() if choice == '1': tracker = cv2.TrackerMIL_create() if choice == '2': tracker = cv2.TrackerKCF_create() if choice == '3': tracker = cv2.TrackerTLD_create() if choice == '4': tracker = cv2.TrackerMedianFlow_create() return tracker
def create_tracker(tracker_type='CSRT'): global tracker if tracker_type == 'BOOSTING': tracker = cv2.TrackerBoosting_create() if tracker_type == 'MIL': tracker = cv2.TrackerMIL_create() if tracker_type == 'KCF': tracker = cv2.TrackerKCF_create() if tracker_type == 'TLD': tracker = cv2.TrackerTLD_create() if tracker_type == 'MEDIANFLOW': tracker = cv2.TrackerMedianFlow_create() if tracker_type == 'GOTURN': tracker = cv2.TrackerGOTURN_create() if tracker_type == 'MOSSE': tracker = cv2.TrackerMOSSE_create() if tracker_type == "CSRT": tracker = cv2.TrackerCSRT_create() return tracker
def trackerCreator(TrackerName): ''' TrackerName - (str) ime tipa sledilnega algoritma ''' tracker_type = TrackerName if tracker_type == 'BOOSTING': tracker = cv.TrackerBoosting_create() if tracker_type == 'MIL': tracker = cv.TrackerMIL_create() if tracker_type == 'KCF': tracker = cv.TrackerKCF_create() if tracker_type == 'TLD': tracker = cv.TrackerTLD_create() if tracker_type == 'MEDIANFLOW': tracker = cv.TrackerMedianFlow_create() if tracker_type == 'GOTURN': tracker = cv.TrackerGOTURN_create() if tracker_type == 'MOSSE': tracker = cv.TrackerMOSSE_create() if tracker_type == "CSRT": tracker = cv.TrackerCSRT_create() return tracker
def __get_algorithm_tracker(self, algorithm): if algorithm == 'BOOSTING': tracker = cv2.TrackerBoosting_create() elif algorithm == 'MIL': tracker = cv2.TrackerMIL_create() elif algorithm == 'KCF': tracker = cv2.TrackerKCF_create() elif algorithm == 'TLD': tracker = cv2.TrackerTLD_create() elif algorithm == 'MEDIANFLOW': tracker = cv2.TrackerMedianFlow_create() elif algorithm == 'GOTURN': tracker = cv2.TrackerGOTURN_create() elif algorithm == 'CSRT': tracker = cv2.TrackerCSRT_create() elif algorithm == 'MOSSE': tracker = cv2.TrackerMOSSE_create() else: #default settings tracker = cv2.TrackerCSRT_create() return tracker
def _setup_tracker(self): if int(minor_ver) < 3: tracker = cv.Tracker_create(tracker_type) else: if tracker_type == 'BOOSTING': tracker = cv.TrackerBoosting_create() if tracker_type == 'MIL': tracker = cv.TrackerMIL_create() if tracker_type == 'KCF': tracker = cv.TrackerKCF_create() if tracker_type == 'TLD': tracker = cv.TrackerTLD_create() if tracker_type == 'MEDIANFLOW': tracker = cv.TrackerMedianFlow_create() if tracker_type == 'GOTURN': tracker = cv.TrackerGOTURN_create() if tracker_type == 'MOSSE': tracker = cv.TrackerMOSSE_create() if tracker_type == "CSRT": tracker = cv.TrackerCSRT_create() self._tracker = tracker self._tracker_type = tracker_type
def createTrackerByName(trackerType): # Create a tracker based on tracker name if trackerType == trackerTypes[0]: tracker = cv2.TrackerBoosting_create() elif trackerType == trackerTypes[1]: tracker = cv2.TrackerMIL_create() elif trackerType == trackerTypes[2]: tracker = cv2.TrackerKCF_create() elif trackerType == trackerTypes[3]: tracker = cv2.TrackerTLD_create() elif trackerType == trackerTypes[4]: tracker = cv2.TrackerMedianFlow_create() elif trackerType == trackerTypes[5]: tracker = cv2.TrackerGOTURN_create() elif trackerType == trackerTypes[6]: tracker = cv2.TrackerMOSSE_create() elif trackerType == trackerTypes[7]: tracker = cv2.TrackerCSRT_create() else: tracker = None print('Incorrect tracker name') return tracker
def createTrackerByName(tracker_type): if tracker_type == 'BOOSTING': tracker = cv2.TrackerBoosting_create() elif tracker_type == 'MIL': tracker = cv2.TrackerMIL_create() elif tracker_type == 'KCF': tracker = cv2.TrackerKCF_create() elif tracker_type == 'TLD': tracker = cv2.TrackerTLD_create() elif tracker_type == 'MEDIANFLOW': tracker = cv2.TrackerMedianFlow_create() elif tracker_type == 'GOTURN': tracker = cv2.TrackerGOTURN_create() elif tracker_type == 'MOSSE': tracker = cv2.TrackerMOSSE_create() elif tracker_type == "CSRT": tracker = cv2.TrackerCSRT_create() else: print("ERROR tracker no identificado se selecciona MOSSE") tracker = cv2.TrackerMOSSE_create() return tracker
def __init__(self, trackertype ): # ['BOOSTING', 'MIL','KCF', 'TLD', 'MEDIANFLOW', 'GOTURN'] self.trackerOpenCV = None if trackertype == OpenCVTrackerType.BOOSTING: self.trackerOpenCV = cv2.TrackerBoosting_create() elif trackertype == OpenCVTrackerType.MIL: self.trackerOpenCV = cv2.TrackerMIL_create() elif trackertype == OpenCVTrackerType.KCF: self.trackerOpenCV = cv2.TrackerKCF_create() elif trackertype == OpenCVTrackerType.TLD: self.trackerOpenCV = cv2.TrackerTLD_create() elif trackertype == OpenCVTrackerType.MEDIANFLOW: # self.trackerOpenCV = cv2.Tracker_create("MEDIANFLOW") self.trackerOpenCV = cv2.TrackerMedianFlow_create() elif trackertype == OpenCVTrackerType.GOTURN: self.trackerOpenCV = cv2.TrackerGOTURN_create() elif trackertype == OpenCVTrackerType.MOSSE: self.trackerOpenCV = cv2.TrackerMOSSE_create() self.success = False self.bbox = [0, 0, 0, 0] pass
def create_tracker(type): if type == 'BOOSTING': tracker = cv2.TrackerBoosting_create() elif type == 'MIL': tracker = cv2.TrackerMIL_create() elif type == 'KCF': tracker = cv2.TrackerKCF_create() elif type == 'TLD': tracker = cv2.TrackerTLD_create() elif type == 'MEDIANFLOW': tracker = cv2.TrackerMedianFlow_create() elif type == 'GOTURN': tracker = cv2.TrackerGOTURN_create() elif type == 'MOSSE': tracker = cv2.TrackerMOSSE_create() elif type == "CSRT": tracker = cv2.TrackerCSRT_create() else: tracker = None print("Provide correct tracker name.") return tracker
def create_tracker(): tracker_types = ['BOOSTING', 'MIL','KCF', 'TLD', 'MEDIANFLOW', 'GOTURN', 'MOSSE', 'CSRT'] #Normally use KCF, shouldn't use anything above that tracker_type = tracker_types[2] if tracker_type == 'BOOSTING': track = cv2.TrackerBoosting_create() if tracker_type == 'MIL': track = cv2.TrackerMIL_create() if tracker_type == 'KCF': track = cv2.TrackerKCF_create() if tracker_type == 'TLD': track = cv2.TrackerTLD_create() if tracker_type == 'MEDIANFLOW': track = cv2.TrackerMedianFlow_create() if tracker_type == 'GOTURN': track = cv2.TrackerGOTURN_create() if tracker_type == 'MOSSE': track = cv2.TrackerMOSSE_create() if tracker_type == "CSRT": track = cv2.TrackerCSRT_create() return track
def tracker(frames, init_bbox, tracker_type='KCF'): tracker_types = [ 'BOOSTING', 'MIL', 'KCF', 'TLD', 'MEDIANFLOW', 'GOTURN', 'MOSSE', 'CSRT' ] if tracker_type not in tracker_types: tracker_type = tracker_types[2] if tracker_type == 'BOOSTING': tracker = cv2.TrackerBoosting_create() if tracker_type == 'MIL': tracker = cv2.TrackerMIL_create() if tracker_type == 'KCF': tracker = cv2.TrackerKCF_create() if tracker_type == 'TLD': tracker = cv2.TrackerTLD_create() if tracker_type == 'MEDIANFLOW': tracker = cv2.TrackerMedianFlow_create() if tracker_type == 'GOTURN': tracker = cv2.TrackerGOTURN_create() if tracker_type == 'MOSSE': tracker = cv2.TrackerMOSSE_create() if tracker_type == "CSRT": tracker = cv2.TrackerCSRT_create() init_frame = frames[0] ok = tracker.init(init_frame, init_bbox) if not ok: print("Cannot initiate!") bboxes = list() for i, each_frame in enumerate(frames): if i == 0: bboxes.append(init_bbox) else: ok, bbox = tracker.update(each_frame) if ok: bboxes.append(bbox) return bboxes
def init_tracker(tracker_num): # tracker_types: ['BOOSTING', 'MIL','KCF', 'TLD', 'MEDIANFLOW', 'GOTURN', 'MOSSE', 'CSRT'] if tracker_num == 1: tracker = cv2.TrackerBoosting_create() elif tracker_num == 2: tracker = cv2.TrackerMIL_create() elif tracker_num == 3: tracker = cv2.TrackerKCF_create() elif tracker_num == 4: tracker = cv2.TrackerTLD_create() elif tracker_num == 5: tracker = cv2.TrackerMedianFlow_create() elif tracker_num == 6: tracker = cv2.TrackerGOTURN_create() elif tracker_num == 7: tracker = cv2.TrackerMOSSE_create() elif tracker_num == 8: tracker = cv2.TrackerCSRT_create() else: print("Invalid tracker number") exit() return tracker