logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Prosty programik do analizy ob - Zliczanie pikseli ze zdjęcia od punktu bazowego

gertan 11 Maj 2013 14:28 2316 7
  • #1 12295055
    gertan
    Poziom 10  
    Posty: 18
    Witam!

    Potrzebuję prostego programu w Delphi, który byłby w stanie zliczać odległość przeliczając piksele. Czyli mówiąc wprost - wczytanie zdjęcia, obliczenie ilość pikseli od punktu bazowego, przeliczenie ich na odległość, ewentualne wyrysowanie wykresu. Może da się coś takiego zrobić z serią zdjęć, żeby obserwować przemieszczenia...
    Czy ktoś zetknął się z czymś takim? Może pisał coś podobnego, a może zna samouczki czy poradniki, które mogą pomóc w takim zagadnieniu?

    Z góry dziękuję za odpowiedzi i pozdrawiam!
  • #2 12295729
    Dżyszla
    Poziom 42  
    Posty: 7075
    Pomógł: 1095
    Ocena: 225
    Ale jak te punkty chcesz wyznaczać? wskazywać?
    Przemieszczanie raczej będzie trudnym zadaniem... To zalezy jeszcze od zdjęć, jakie mają być obrabiane i co ma być tym punktem.
  • #3 12295796
    gertan
    Poziom 10  
    Posty: 18
    Chodzi o to, aby wyznaczając piksel bazowy, program pokazywał o ile pikseli przesuwa się, jakiś inny, zaznaczony piksel. Dzięki temu, będzie mógł przeliczyć to na odległość w milimetrach, a później przedstawić to na wykresie (w zależności od kolejnych klatek filmu).

    Przykładowo:
    Mam film w którym klocek przesuwa się po stole. Potrzebuję programu w Delphi, który powie mi, po analizie kilku (kilkunastu, kilkudziesięciu) klatek o ile dany klocek się przesunął (najlepiej w formie wykresu).
  • #4 12297009
    Dżyszla
    Poziom 42  
    Posty: 7075
    Pomógł: 1095
    Ocena: 225
    Zwróć uwagę, że każda klatka filmu będzie zawierała inne odwzorowanie barw, pewnie inny kąt (a więc i spłaszczony rozmiar obiektu), dodatkowo pewnie przesunięcia będą odbywały się nie o jeden piksel, ale o kilka włączając wartości ułamkowe, które w zależności od ostrości będą dawały różne przebarwienia na krawędziach podczas ruchu.
    Wciąż nie mówisz nic o samym obrazie, nie wiadomo więc, czy lepiej stosować algorytm wykrywania krawędzi, czy może jest to wysoce kontrastowy obraz, na którym wystarczy po prostu odszukiwanie barwne. Nie wiadomo, czy są szumy i trzeba stosować algorytmy odszumiające, czy obraz jest barwny, czy w skali szarości. A może kształty są specyficzne i muszą być rozpoznawane, przez co lepiej zastosować dodatkowo algorytmy dla sieci neuronowych...

    Poszukaj takiej publikacji: "Komputerowa analiza i przetwarzanie obrazów" Ryszard Tadusiewicz
  • #5 12297046
    gertan
    Poziom 10  
    Posty: 18
    Dziękuję za podpowiedź w sprawie publikacji.
    Co do obrazu, to raczej zastosowanie będzie mogło mieć odszukiwanie barwne ze względu na ciemne kolory poruszającego się obiektu (na nieco jaśniejszym tle).
    Co do obrazu to jest barwny, a sprawę upraszcza fakt, że nie jest mi potrzebna dokładność co do piksela, ponieważ chcę obserwować (rejestrować) przemieszczenia rzędu milimetrów (całkowity zakres ruchu to powiedzmy 500 mm), a dysponuję obrazem w rozdzielczości Full HD.
  • #6 12298044
    Dżyszla
    Poziom 42  
    Posty: 7075
    Pomógł: 1095
    Ocena: 225
    Jeszcze jedno - tylko jeden obiekt znajdzie się na obrazie, czy wiele? Jeśli tylko jeden - po prostu przeskanuj obraz w oczekiwaniu na zadany kolor (pamiętaj o tolerancji), i poszukaj np najwyższego lub najniższego położenia pikseli (skanowanie od góry lub od dołu). Potem robisz to samo z kolejną klatką. Jeśli spodziewasz się ruchu w określonym kierunku, możesz zoptymalizować np. zaczynając od ostatniego położenia.

    Odległość od zadanego punktu to już zwykły Pitagoras.
  • #7 12298094
    gertan
    Poziom 10  
    Posty: 18
    Na obrazie porusza się tylko jeden element. Do drugiego przykręcona jest kamera i on jest nieruchomą bazą.
    Problem w tym, że moje umiejętności programowania nie są wystarczające do napisania programu, którego potrzebuję, stąd pytanie, czy ktoś spotkał się z czymś podobnym, ponieważ moje możliwości pozwolą mi co najwyżej na przerobienie jakiegoś już gotowego rozwiązania.
    Oczywiście proszę nie odbierać tego jako prośbę o zrobienie czegoś za mnie (wiadomym jest, że takie rzeczy kosztują i to niemałe pieniądze). Zakładając ten temat miałem (mam) nadzieję, że ktoś spotkał się z czymś takim i dysponuje kodem, ewentualnie spotkał się z jakimś samouczkiem opisującym mój problem.
    Pozdrawiam i dziękuję za zainteresowanie.
  • #8 12298314
    Dżyszla
    Poziom 42  
    Posty: 7075
    Pomógł: 1095
    Ocena: 225
    Najlepiej, jakbyś pokazał taką serię obrazów i dokładnie zaznaczył. Bez tego można tylko teoretyzować.

    W najprostszym (ale i nie najszybszym) rozwiązaniu wystarczy Ci przeszukiwanie obrazu np w ten sposób:
    Kod: text
    Zaloguj się, aby zobaczyć kod

Podsumowanie tematu

✨ Użytkownik poszukuje prostego programu w Delphi do analizy zdjęć, który zliczałby odległość w pikselach od punktu bazowego oraz przeliczałby je na milimetry, a także przedstawiał wyniki na wykresie. W kontekście analizy ruchu obiektu na filmie, użytkownik wskazuje, że interesuje go jedynie jeden poruszający się element na tle o kontrastowych kolorach. Odpowiedzi sugerują różne podejścia do problemu, w tym wykorzystanie algorytmów wykrywania krawędzi, analizy kolorów oraz przetwarzania obrazów. Użytkownik jest otwarty na gotowe rozwiązania lub samouczki, które mogłyby pomóc w realizacji jego projektu.
REKLAMA