Aktualizacja: Próbuję usunąć trochę bałaganu z tego posta i podsumować go w bardziej zwięzły sposób. Jeśli to konieczne, zobacz oryginalną zmianę.Algorytm szukania namalowanego regionu na płótnie
Obecnie próbuję prześledzić serię pojedynczych kolorowych plam na płótnie bitmapowym.
np. Przykładem bitmapy Ja próbuje śladu będzie wyglądać następująco: alt text http://www.refuctored.com/polygons.bmp
Po pomyślnym śledzenie zarysy 3 bąble na zdjęcie, chciałbym mieć klasę, która odbyła kolor kropelka przywiązany do lista punktów reprezentująca kontur obiektu typu blob (nie wszystkie piksele wewnątrz obiektów typu blob).
Problem, który napotykam, to logika w przypadkach, gdy sąsiadujący piksel nie ma otaczających pikseli innych niż poprzedni piksel.
np. Górny przykład może być cienki, ale drugi nie, ponieważ piksel nie ma dokąd, ponieważ poprzednie piksele zostały już użyte.
alt text http://www.refuctored.com/error.jpg
jestem śledzenie lewej do prawej, od góry do dołu, sprzyjając ukośnych kątów ponad kątem prostym. Muszę być w stanie przerysować dokładną kopię regionu na podstawie danych, które wypakowuję, więc piksele na liście muszą być we właściwej kolejności, aby kopia działała.
Do tej pory moja próba została podziurawiona niepowodzeniem i kilka dni wyciągania moich włosów, próbując przepisać algorytmy trochę za każdym razem, aby rozwiązać problem. Do tej pory nie udało mi się. Czy ktoś inny miał podobny problem, jak mój, który ma dobry algorytm znajdowania krawędzi?
Podwajanie rozmiaru - to świetny pomysł. Jestem zaskoczony, że nie przeszło mi przez myśl. Sprawdzę to! –