![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 294 Pomógł: 4 Dołączył: 19.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam. W sumie nie wiem czy do dobrego działu dałem temat, ponieważ nie mam pomysłu i jestem otwarty na języki programowania. Mam obrazek. Załóżmy ten: (IMG:http://up.programosy.pl/foto/circle.png)
Założenie jest takie - szukam współrzędnych pozycji okręgu, który może być niedoskonały - czyli tak jak na obrazku troche poszarpane itd, ale jak by nie patrzeć - jest to jakiś okrąg. Kolejną rzeczą jest to, że zawsze kolory obrazka to czarno-biały. Nie mam pomysłu, a chciałbym wykryć współrzędne, gdzie ten okrąg się znajduje. Ma ktoś jakikolwiek pomysł? ;-) Jestem otwarty na propozycje ;-) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 3 Dołączył: 12.03.2011 Skąd: Opole Ostrzeżenie: (0%) ![]() ![]() |
Optymalizujemy szukanie grupy pikseli :
-sprawdzamy po liniach pionowych siatki , gdy znajdujemy grupę w jednej linii szukamy w linii obok , jak mamy w linii drugiej przechodzimy do sprawdzania poziomego -sprawdzamy linie poziome ale tylko w okolicach linii pionowych gdzie są już wykryte piksele - mamy już sektory które należą do naszej grupy pikseli więc sprawdzamy sąsiednie sektory czy nie są połączone z naszą grupą jak tak dodajemy do zbioru -na naszym zbiorze możemy już operować pod kątem okręgu, wyliczamy środek bierzemy najkrótszy promień kreślimy koło i porównujemy ilość pikseli w kole czy jest duża jak tak to kreślimy drugi okrąg poza naszym kołem (najdłuższy promień +30%) i sprawdzamy czy tam nie ma pikseli z naszego kola jak nie ma albo jest mało to jest ok -po liniach siatki nie musimy poruszać w sposób ciągły , można co jakiś odcinek , w przypadku wykrycia pikseli zwiększamy częstotliwość sprawdzania w pobliżu znalezionych pikseli ( łącznych detekcji będzie wtedy mniej) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 06:19 |