mirror of
				https://github.com/blakeblackshear/frigate.git
				synced 2025-10-27 10:52:11 +01:00 
			
		
		
		
	Only set colors for enabled objects (#4936)
* Only create colormap for enabled labels * Fix assigning
This commit is contained in:
		
							parent
							
								
									d9c45a76fe
								
							
						
					
					
						commit
						543cad5497
					
				@ -962,6 +962,14 @@ class FrigateConfig(FrigateBaseModel):
 | 
			
		||||
            camera_config.create_ffmpeg_cmds()
 | 
			
		||||
            config.cameras[name] = camera_config
 | 
			
		||||
 | 
			
		||||
        # get list of unique enabled labels for tracking
 | 
			
		||||
        enabled_labels = set(config.objects.track)
 | 
			
		||||
 | 
			
		||||
        for _, camera in config.cameras.items():
 | 
			
		||||
            enabled_labels.update(camera.objects.track)
 | 
			
		||||
 | 
			
		||||
        config.model.create_colormap(enabled_labels)
 | 
			
		||||
 | 
			
		||||
        for key, detector in config.detectors.items():
 | 
			
		||||
            detector_config: DetectorConfig = parse_obj_as(DetectorConfig, detector)
 | 
			
		||||
            if detector_config.model is None:
 | 
			
		||||
 | 
			
		||||
@ -55,11 +55,13 @@ class ModelConfig(BaseModel):
 | 
			
		||||
            **load_labels(config.get("labelmap_path", "/labelmap.txt")),
 | 
			
		||||
            **config.get("labelmap", {}),
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        cmap = plt.cm.get_cmap("tab10", len(self._merged_labelmap.keys()))
 | 
			
		||||
 | 
			
		||||
        self._colormap = {}
 | 
			
		||||
        for key, val in self._merged_labelmap.items():
 | 
			
		||||
 | 
			
		||||
    def create_colormap(self, enabled_labels: set[str]) -> None:
 | 
			
		||||
        """Get a list of colors for enabled labels."""
 | 
			
		||||
        cmap = plt.cm.get_cmap("tab10", len(enabled_labels))
 | 
			
		||||
 | 
			
		||||
        for key, val in enumerate(enabled_labels):
 | 
			
		||||
            self._colormap[val] = tuple(int(round(255 * c)) for c in cmap(key)[:3])
 | 
			
		||||
 | 
			
		||||
    class Config:
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user