Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Algoritmus spočítání všech unikátních barev v bitmapě

Tato funkce je v bitmapovém editoru PaintShopPro a ať přemýšlím jak přemýšlím, nenapadá mě jak to elegantně a rychle udělat. Když má obrázek barevnou hloubku 24b (16,7 milionu barev) jak spočítat kolik kombinací RGB bylo opravdu použitých? Napadá někoho nějaký chytrý algoritmus? Mně napadlo jenom vynulované bitové pole s 16,7 miliony položek (cca 2MB paměti)což by se ale zřejmě muselo udělat jako pole s 2097152 položkami typu BYTE a pro každý bod bitmapy zapsat bit 1 na vypočítaném indexu a bitu podle té barvy a pak spočítat kolik je tam jedniček.
Pokud si dobře vzpomínám, bylo to už ve verzi 3.0, která běhala na Win3.11 s 4MB paměti a nebylo to nijak extra pomalé nebo žeby to nějak mohutně swapovalo, aby měl kam nacpat ty 2MB dat.

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny