Strona 1 z 1

Przetwarzanie obrazu video - pomoc

: 19 mar 2013 19:40
autor: Student23
Witam. Pierwsze pytanie od którego chciałbym wyjść w tym temacie to pomoc odnośnie tego tematu. Mam taki projekt, który należy wykonać w LabVIEW. Wgrać filmik ukazujący ruch uliczny oraz przemieszczanie się samochodów i na tej podstawie program ma rozróżniać postacie od samochodów, może np jakieś inne kształty. W dodatku jakieś zliczanie osob oraz samochodów. Projekt nie ma być robiony w żadnym vision builderze. Tylko w " klasycznym LabVIew" moje pytanie, od czego zacząć? w sensie z jakimi funkcjami powinienem się zapoznać aby móc takie coś zrealizować. Nie mam właśnie pojęcia zbytnio jakie funkcje są potrzebne do przetwarzania obrazu, wgrania pliku video, a z chęcią się z nimi zapoznam. Prosiłbym o podanie parę kroków od których należało by wyjść. Z góry dziękuje i pozdrawiam

Re: Przetwarzanie obrazu video - pomoc

: 20 mar 2013 12:05
autor: Koss
Vision Development Module jest do tego potrzebny - tam znajdziesz wszystkie potrzebne funkcje.

Przeglądaj paletę funkcji z włączonym oknem Context Help, a znajdziesz odpowiednie bloczki.

Zacznij od wczytywania pliku, potem zacznij np.: od obrazów różnicowych pomiędzy kolejnymi klatkami.

Więcej informacji znajdziesz w linku:
http://digital.ni.com/manuals.nsf/webse ... 1F00598BB6.

W razie problemów pisz na forum, pomożemy.

Powodzenia!

Przetwarzanie obrazu video - pomoc

: 24 mar 2013 19:34
autor: Mikrobi
Jeśli obraz jest w skalach szarości, to pobrany obraz możesz zamienić na tablicę lub macierz przykładowo o reprezentacji U8 lub poddać binaryzacji.
Potem już wchodzą w grę operację z "klasycznego" przetwarzania obrazu: erozje, dylatacje itd.

Re: Przetwarzanie obrazu video - pomoc

: 29 mar 2013 20:49
autor: wino
Cześć,
Projekt nie ma być robiony w żadnym vision builderze. Tylko w " klasycznym LabVIew" moje pytanie, od czego zacząć? w sensie z jakimi funkcjami powinienem się zapoznać aby móc takie coś zrealizować.
Z tego co kminie to Vision Assistant (nie vision builder ...) to jest program, który został stworzony w "klasycznym LabVIEW". Jak ktoś nie ma zielonego pojęcia o przetwarzaniu obrazów, to powinien właśnie z tego programu skorzystać. Co ciekawe, ten program ma taką zdolność, że generuje kod w "klasycznym LabVIEW". Jakbym był na Twoim miejscu, to załadowałbym do tego programu jakiś obrazek i sprawdził jakie mam możliwości. Zwróciłbym szczególną uwagę na to, czy zdjęcie, które posiadam jest na tyle dokładne, że jestem w stanie za pomocą algorytmów, które są dostępne w Vision Assistant, ocenić zdjęcie na podstawie kryteriów, które posiadasz. W sumie NI stworzyło ten program dla takich ludzi jak Ty! Dopiero potem zająłbym się filmem.

Re: Przetwarzanie obrazu video - pomoc

: 04 paź 2013 10:47
autor: Student23
przejscie_jana0040.jpg
przejscie_jana0040.jpg (53.56 KiB) Przejrzano 18592 razy
Witam!
Chciałbym powrócić do tego tematu. Generalnie mam ogromny problem i nie wiem jak sobie poradzić. Zamieszczam zdjęcie na którym próbuje zrobić zalecane przekształcenia, czyli m.in śledzenie ruchu pieszych, jakiś rozróżnianiu kształtów i zliczanie obiektów. Zdjęcia są wygenerowane z filmiku około 5 minutowego.
Cały czas próbuje to zrobić w vision builderze, gdzie juz na samym początku dane zdjęcie poddaje analizie w vision assistant, ale nie bardzo wiem czego użyć by otrzymać rezultat. Próbowałem zabawy z przekształceniami morfologicznymi, maskami itp, a po tych zapisach używam funkcji detect w vision builderze, lecz nigdy nie wykrywa mi np obiektów tych istotnych ( ludzi ), bierze pod uwagę tez drzewa, pasy itp. Jak np zrobić by czerwony kwadracik oznaczający wykryty obiekt był tylko dla ludzi i tam gdzie oni sie przemieszcza tam i z nimi ten kwadrat.. Próbowałem to robić i bawić się rozmiarami pikseli ale wydaje mi się że w ogóle nie wiem co i jak;/ Czy to naprawdę trudne i ciężkie do realizacji? Z góry dziękuje za pomoc

Re: Przetwarzanie obrazu video - pomoc

: 04 paź 2013 11:52
autor: may
To z pewnością nie będzie całkowicie wyczerpująca odpowiedź, ale może jakoś cię naprowadzi:

Po pierwsze: W dużym skrócie, tak, to jest trudne. Wizja jest dość trudna nawet jeżeli dzieje się to na linii produkcyjnej, gdzie ściśle wiadomo jakich obiektów się spodziewać, jest dobrane oświetlenie i takie tam. Wrzuciłeś tylko jedną klatkę, ale jeżeli to jest film w stylu "A strzelę sobie z ręki filmik o przejściu dla pieszych", to może być dość ciężko.

Po drugie: "jakieś rozróżnianiu kształtów i zliczanie obiektów". Musisz to trochę doprecyzować co naprawdę chcesz zrobić. Pamiętaj, że przy analizie informacji wizyjnej musisz trochę przestać myśleć jak człowiek a zacząć myśleć jak maszyna (ale poetycko mi to wyszło). Trzeba rozpatrywać problem w postaci podstawowych kształtów, kolorów, kontrastu, ruchu i takich tam. Jeżeli sprecyzujesz sobie zadanie: Chcę znaleźć wszystkie wyróżniające się od tła / jasne prostokąty, (zliczam ile jest pasów na jezdni) albo chcę znaleźć niewielki intensywnie czerwony/zielony kształt (sprawdzam jakie światło się pali) to będzie prościej ustalić jakie operacje potrzebujesz wykorzystać.

Po trzecie: zasadniczo rozpoznawanie ruchu można uzyskać poprzez porównanie ze sobą (odjęcie dokładniej) dwóch kolejnych klatek filmu. To co jest takie same jest stacjonarne, to co nie jest rusza się. Potem te powstałe obszary prawdopodobnie trzeba będzie sprogować jakieś operacje morfologiczne (jakaś erozja, zamknięcie czy coś w ten deseń) oznaczenie jako obiekty nałożenie na nie kwadratów czy jakichś innych oznaczników. W ten sposób powinno dać się w miarę śledzić ruch ludzi. Chyba, że kamera nie jest na statywie, filmowane jest z ręki i zasadniczo wszystko się rusza. Wtedy będzie zdecydowanie trudniej.

Wiem, że rzucam jedynie ideami a nie gotowymi rozwiązaniami, ale z wizją tak już jest, że trzeba trochę poeksperymentować i potweakować sporo rzeczy żeby efekty były dobre, ale mam nadzieję że choć trochę naprowadziłem na słuszny kierunek.

Przetwarzanie obrazu video - pomoc

: 04 paź 2013 12:30
autor: Student23
Dziękuje za wyczerpującą wypowiedź. Faktycznie ten trzeci wariant brałem pod uwagę, lecz nie bardzo wiem jak do tego się zabrać. Generalnie drugiego zdjęcia nie wrzucałem z racji, ze po jakiś 10 kolejnych zdjęciach jak łatwo się domyśleć panowie na zdjęciu bedą znajdować się gdzieś na środku pasów i właśnie tutaj mi chodziło by nad każdym znajdującym się człowiekiem, czy przejeżdżającym pojeździe była ramka, która cały czas będzie się przemieszczała wraz z dana osobą. Myślałem że to trochę łatwiejsze będzie. Eh..

Przetwarzanie obrazu video - pomoc

: 04 paź 2013 12:57
autor: may

Re: Przetwarzanie obrazu video - pomoc

: 04 paź 2013 20:03
autor: Student23
A czy w ogóle do zabawy właśnie z gotowymi zdjęciami czy jakimś filmikiem jest potrzebny moduł IMAQ, czy on własnie sluzy bezposrednio do pozyskiwania danych w trybie rzeczywistym gdy uzywamy kamery?? Generalnie posiadam kamerę WEB wbudowaną w laptopie, chociaż z tego co mi wiadomo ustawia się ja w produkcie Measurement Automation, a tam niestety mi jej w ogole nie widzi. No chyba, że się myle

Re: Przetwarzanie obrazu video - pomoc

: 07 paź 2013 23:54
autor: Koss
Do kamery w laptopie(USB) potrzebne są sterowniki IMAQdx.
Do bardziej zaawansowanych funkcji z przetwarzania obrazów potrzebny jest Vision Development Module.

Do operowania na danych obrazowych potrzebujesz odpowiedniego typu danych - Image,to ten fioletowy kabel. Jak masz któryś z powyższych modułów to powinien być dostępny.

http://sine.ni.com/np/app/main/p/bot/no ... on/sw/flp/

Do detekcji ruchu, jeśli inne pomysły nie zadziałają, spróbowałbym OpticalFlow.

Przetwarzanie obrazu video - pomoc

: 08 paź 2013 14:44
autor: Student23
Tak Tak dzięki wszystkie odpowiednie moduły mam. Kwestia teraz jakie zastosować potrzebne bloczki by to miało sens. To zdjęcie u góry próbuje przerobić by po prostu wykrywał ruch, i zaznaczał obiekty poruszające się. Aby zastanawia mnie czy w przypadku tego zdjęcia to jestem wstanie zrobić, ponieważ jakość jest marna.

Re: Przetwarzanie obrazu video - pomoc

: 09 paź 2013 00:34
autor: Koss
Powodzenia - napisz jak poszło, jak coś to pomożemy.