def __write_settings(self): """ Zapisz wartości z widgetów """ Configuration.distance_border1(self.border1_adjustment.get_value()) Configuration.distance_border2(self.border2_adjustment.get_value()) Configuration.meters_length( self.meters_length_spin_adjustment.get_value()) Configuration.color_number( self.color_number_spin_adjustment.get_value()) Configuration.horizontal_border( self.horizontal_border_spin_adjustment.get_value()) Configuration.vertical_border( self.vertical_border_spin_adjustment.get_value()) Configuration.pixel_limit(self.pixel_limit_spin_adjustment.get_value()) Configuration.distance_from_border( self.distance_from_border_spin_adjustment.get_value()) Configuration.draw_detection_region( self.draw_detection_region_check.get_active()) Configuration.draw_speed_region( self.draw_speed_region_check.get_active()) Configuration.draw_cars(self.draw_cars_check.get_active()) Configuration.draw_conturs(self.draw_conturs_check.get_active()) Configuration.draw_speed_info(self.draw_speed_info_check.get_active()) Configuration.draw_size_info(self.draw_size_info_check.get_active()) Configuration.draw_color_bar(self.draw_color_bar_check.get_active()) Configuration.save_config()
def __load_settings(self): """ Wczytaj obecną konfigurację znajdującą się config.json do widgetów okna. """ self.border1_adjustment.set_value(Configuration.distance_border1()) self.border2_adjustment.set_value(Configuration.distance_border2()) self.meters_length_spin_adjustment.set_value( Configuration.meters_length()) self.color_number_spin_adjustment.set_value( Configuration.color_number()) self.horizontal_border_spin_adjustment.set_value( Configuration.horizontal_border()) self.vertical_border_spin_adjustment.set_value( Configuration.vertical_border()) self.pixel_limit_spin_adjustment.set_value(Configuration.pixel_limit()) self.distance_from_border_spin_adjustment.set_value( Configuration.distance_from_border()) self.draw_detection_region_check.set_active( Configuration.draw_detection_region()) self.draw_speed_region_check.set_active( Configuration.draw_speed_region()) self.draw_cars_check.set_active(Configuration.draw_cars()) self.draw_conturs_check.set_active(Configuration.draw_conturs()) self.draw_speed_info_check.set_active(Configuration.draw_speed_info()) self.draw_size_info_check.set_active(Configuration.draw_size_info()) self.draw_color_bar_check.set_active(Configuration.draw_color_bar())
def __write_settings(self): """ Zapisz wartości z widgetów """ Configuration.distance_border1(self.border1_adjustment.get_value()) Configuration.distance_border2(self.border2_adjustment.get_value()) Configuration.meters_length(self.meters_length_spin_adjustment.get_value()) Configuration.color_number(self.color_number_spin_adjustment.get_value()) Configuration.horizontal_border(self.horizontal_border_spin_adjustment.get_value()) Configuration.vertical_border(self.vertical_border_spin_adjustment.get_value()) Configuration.pixel_limit(self.pixel_limit_spin_adjustment.get_value()) Configuration.distance_from_border(self.distance_from_border_spin_adjustment.get_value()) Configuration.draw_detection_region(self.draw_detection_region_check.get_active()) Configuration.draw_speed_region(self.draw_speed_region_check.get_active()) Configuration.draw_cars(self.draw_cars_check.get_active()) Configuration.draw_conturs(self.draw_conturs_check.get_active()) Configuration.draw_speed_info(self.draw_speed_info_check.get_active()) Configuration.draw_size_info(self.draw_size_info_check.get_active()) Configuration.draw_color_bar(self.draw_color_bar_check.get_active()) Configuration.save_config()
def __load_settings(self): """ Wczytaj obecną konfigurację znajdującą się config.json do widgetów okna. """ self.border1_adjustment.set_value(Configuration.distance_border1()) self.border2_adjustment.set_value(Configuration.distance_border2()) self.meters_length_spin_adjustment.set_value(Configuration.meters_length()) self.color_number_spin_adjustment.set_value(Configuration.color_number()) self.horizontal_border_spin_adjustment.set_value(Configuration.horizontal_border()) self.vertical_border_spin_adjustment.set_value(Configuration.vertical_border()) self.pixel_limit_spin_adjustment.set_value(Configuration.pixel_limit()) self.distance_from_border_spin_adjustment.set_value(Configuration.distance_from_border()) self.draw_detection_region_check.set_active(Configuration.draw_detection_region()) self.draw_speed_region_check.set_active(Configuration.draw_speed_region()) self.draw_cars_check.set_active(Configuration.draw_cars()) self.draw_conturs_check.set_active(Configuration.draw_conturs()) self.draw_speed_info_check.set_active(Configuration.draw_speed_info()) self.draw_size_info_check.set_active(Configuration.draw_size_info()) self.draw_color_bar_check.set_active(Configuration.draw_color_bar())
def perform(obj: ObjectRecord, file): """ Przeprowadza ocenę koloru, rozmiaru i prędkości obiektu. :param ObjectRecord obj: Obiekt wykryty przez klasę Follower. :return: Parametry pojazdu. :rtype: dict """ # Pobierz dane o pojeździe. new_car, old_car, new_frame, old_frame, mask = obj.unpack() # Wybierz rejon obrazu: x, y, w, h = new_car.get_coordinates() image = new_frame.img image_roi = new_frame.img[y:y+h, x:x+w, :] mask_roi = mask[y:y+h, x:x+w] # Wyznaczenie rozmiaru car_width = SizeMeasurment.calculate_width(new_car) car_height = SizeMeasurment.calculate_height(new_car) car_area = SizeMeasurment.calculate_area(mask_roi) # Wyznaczenie kolorów color_bar, color = ColorDetector.find_color(image_roi) # Wyznaczenie prędkości. speed = SpeedMeasurment.calculate_speed(new_car, new_frame, old_car, old_frame) # Narysowanie wyników na obrazie # Kontur if Configuration.draw_conturs(): image = SizeMeasurment.draw_car_contour(image, new_car, mask) # Rozmiar if Configuration.draw_size_info(): image = SizeMeasurment.draw_size_info(image, car_width, car_height, car_area) # Kolor if Configuration.draw_color_bar(): image = ColorDetector.draw_color_bar(image, color_bar) # Prędkość if Configuration.draw_speed_info(): image = SpeedMeasurment.draw_speed_info(new_car, speed, image) # Połącz obrazy pojazdu image = Classyfication.combine_images(old_frame.orginal_img, image, file) # Rekord zawierający informacje o pojeździe result = {"width": car_width, "height": car_height, "area": car_area, "speed": speed, "image": image, "date": new_frame.creationTime, "color": color} msg = "Przprowadzono klasyfikację pojadu: " msg += "długość: %.2f, " % car_width msg += "wysokość: %.2f, " % car_height msg += "pole karoseri bocznej: %.2f, " % car_area msg += "prędkość: %.2f, " % speed msg += "data: %s." % str(new_frame.creationTime) Logger.info(msg) return result