Übersicht

Zentrale Komponente für die Speicherung und Verarbeitung von Bildrohdaten. Eine elementare Funktion ist das Caching von Bildern auf Platte, um die Latenzzeit bei Anfragen gering zu halten. Der kann an dedizierte Systeme ausgelagert sein und sollte eine verteilte Speicherung für die Lastverteilung ermöglichen. Als Proxy-Support seien hier http/https genannt, aber das System soll beliebig erweiterbar sein. Weiterhin soll der Server “Filterfunktionen” anbieten um Bilder vor der Rückgabe zu transformieren. Beispiel sei ein Resize, damit ein Modell ein großes Bild im Speicher halten muss. Es ist möglich, auch die transformierten Bilder persistent zu speichern, um eine mehrfache Anwendung auf ein und dasselbe Bild zu verhindern. Ziel ist es, klassische CV-Funktionen als Filter anzubieten, was ungefähr einer CV-Feature-DB gleichkommen soll. Alle Objekten unterstützen ein Expire mittels eines TTL-Wertes, der als Voreinstellung unendlich ist.

Interface

Speicherung von Bilddaten

ImgCache.put(url, cache_name=none, ttl=forever)

Abruf von Bilddaten

ImgCache.get(cache_name=url)

Abruf von Bilddaten mit Filtern

ImgCache.get_filtered(cache_name, filters=['filter1', …])