Wektoryzacja obrazka?? Kompresowanie, kwantyzacja?

0

user image

No to tworze sobie obiekt z bitmapy, zlozony z kwadratow (KAZDY KWADRAT TO JEDEN PIKSEL)

Ale jak np. zamienic kilka kwadratow na jakis wiekszy prostokat , zeby nie generować aż tylu kwadratów? :)

0

Puszczasz pętle po wzsystkich kwadratach i sprawdzasz czy dany kwadrat jest otoczony ze wszystkich stron kwadratami, jeżeli tak to je scalasz i zwikszasz licznik scalen. Petle wywolujesz do momentu w ktorym po jej pelnym przejsciu licznik pozostanie taki sam.

0
cyriel napisał(a)

Puszczasz pętle po wzsystkich kwadratach i sprawdzasz czy dany kwadrat jest otoczony ze wszystkich stron kwadratami...

Chyba niekoniecznie ze wszystkich, skoro dopuszczalne są prostokąty.

0

moze zbudowac quadtree podczas czytania pixeli bitmapy? (node=calyczarny/calybialy/zlozonyzdzieci) -> obrazek zlozony z duzo mniejszej ilosci kwadratow pokrywajacych.. ale nie minimalnej

a tak ogolniej - na bitmape przylozyc filtr wykrywajacy linie (krawedzie), w nich probowac znalezc zbiory tworzace prymitywy znane Twojemu silnikowi (tu: prostokat/rownoleglobok), zapamietac je i uzywac..
ew. mozna szukac tylko takich ktore nie zawieraja w sobie obszarow innego koloru, potem je wymazac z oryginalu obrazka, zobaczyc czy cos zostalo poza tlem, powtorzyc - w ten sposob otrzymalbys 'warstwy' (wiesz, ogry maja warstwy.. ]:>) od najwyzszej do najnizszej (tlo) --- czyli np. z trojkolorowego obrazka [CO] moze otrzymalbys: O, OO (nachodzace na siebie) i [ ] (czyli prostokat tla)

taka mysl.. ekspertem w tej dziedzinie nie jestem:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1