rozpoznawanie obrazu problem
rozpoznawanie obrazu problem
Witam wszystkich użytkowników - jako, że jest to mój pierwszy post.
Na wstępie chciałbym zaznaczyć, iż jest to moja pierwsza styczność z pakietem LabVIEW więc bardzo proszę o wyrozumiałość.
Zadaniem, jakie mam do wykonania, jest podzielone na kilka etapów. Pierwszym z nich jest rozpoznawanie obrazu - i na tym etapie zaczęły się już komplikacje...
Analizuję przykłady potrzebne do realizacji mojego tematu - wydaje mi się, że do rozpoznawania obrazu potrzebuję przykładu Geometric Matching Example. Przy użyciu przykładowych obrazków jest wszystko ok, jednak gdy wgrywam moje - wzór obrazk oraz zdjęcie, w którym kształt musi zostać wykryty, nie udaje się nic wykryć. Pomyślałem, że może jest jakiś problem z grafiką (bo obraz będzie pobierany z kamery umieszczonej na robocie) więc na szybko zrobiłem w paincie trojkąciki i... ich też nie może wykryć. Moje pytanie brzmi - dlaczego?
Zamieszczam również zdjęcie co i jak.
Jeśli użyłem błędnego przykładu - proszę zasugerować jaki inny powinienem przeanalizować, aby udało mi się osiągnąć zamierzony efekt.
Pozdrawiam
Na wstępie chciałbym zaznaczyć, iż jest to moja pierwsza styczność z pakietem LabVIEW więc bardzo proszę o wyrozumiałość.
Zadaniem, jakie mam do wykonania, jest podzielone na kilka etapów. Pierwszym z nich jest rozpoznawanie obrazu - i na tym etapie zaczęły się już komplikacje...
Analizuję przykłady potrzebne do realizacji mojego tematu - wydaje mi się, że do rozpoznawania obrazu potrzebuję przykładu Geometric Matching Example. Przy użyciu przykładowych obrazków jest wszystko ok, jednak gdy wgrywam moje - wzór obrazk oraz zdjęcie, w którym kształt musi zostać wykryty, nie udaje się nic wykryć. Pomyślałem, że może jest jakiś problem z grafiką (bo obraz będzie pobierany z kamery umieszczonej na robocie) więc na szybko zrobiłem w paincie trojkąciki i... ich też nie może wykryć. Moje pytanie brzmi - dlaczego?
Zamieszczam również zdjęcie co i jak.
Jeśli użyłem błędnego przykładu - proszę zasugerować jaki inny powinienem przeanalizować, aby udało mi się osiągnąć zamierzony efekt.
Pozdrawiam
rozpoznawanie obrazu problem
Hej. Jeśli możesz to załącz zdjęcia na których masz przeprowadzić identyfikację.
rozpoznawanie obrazu problem
Witam,
identyfikacje mam przeprowadzić na załączonych zdjęciach
http://hostuje.net/file.php?id=edd98cac ... e2dbaf693a
jest tutaj wzór elementu do identyfikacji oraz elemet, w któwym powinny te "rowki: zostać wykryte.
Pozdrawiam!
identyfikacje mam przeprowadzić na załączonych zdjęciach
http://hostuje.net/file.php?id=edd98cac ... e2dbaf693a
jest tutaj wzór elementu do identyfikacji oraz elemet, w któwym powinny te "rowki: zostać wykryte.
Pozdrawiam!
-
- Administrator
- Posty: 1315
- Rejestracja: 30 lip 2003 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Ruda Śląska
- Kontakt:
rozpoznawanie obrazu problem
To można rozwiązać poprzez wykrywanie krawędzi i dopasowanie jak coś potrzebujesz wyznaczyć.
Weź sobie Vision Buildera jeśli go masz i pobaw się funkcjami do wykrywania krawędzi.
Możesz wtedy dokonać pomiarów i wykryć elementy które potrzebujesz.
Szukanie tego elementu jako wzorca nie jest dobrym rozwiązaniem, bo niech ci się coś zmienić (oświetlenie, powierzchnia) i prawdopodobieństwo dopasowania będziesz miał zupełnie inne.
Inne sprawa co dokładnie chcesz zrobić. Chcesz sprawdzić czy jest rowek? czy jest w danym miejscu? Czy ma konkretne wymiary?
To są różne zadania.
Bogdani
Weź sobie Vision Buildera jeśli go masz i pobaw się funkcjami do wykrywania krawędzi.
Możesz wtedy dokonać pomiarów i wykryć elementy które potrzebujesz.
Szukanie tego elementu jako wzorca nie jest dobrym rozwiązaniem, bo niech ci się coś zmienić (oświetlenie, powierzchnia) i prawdopodobieństwo dopasowania będziesz miał zupełnie inne.
Inne sprawa co dokładnie chcesz zrobić. Chcesz sprawdzić czy jest rowek? czy jest w danym miejscu? Czy ma konkretne wymiary?
To są różne zadania.
Bogdani
rozpoznawanie obrazu problem
Witam,
muszę sprawdzić czy jest to rowek, później określić jego współrzędne.
Vision Builder - czy jest to jakiś dodatek do LabVIEW czy...?
Jak najlepiej będzie wykonać to zadanie? Od czego najlepiej zacząć, aby udało mi się zrealizować moje założenie?
Pozdrawiam
muszę sprawdzić czy jest to rowek, później określić jego współrzędne.
Vision Builder - czy jest to jakiś dodatek do LabVIEW czy...?
Jak najlepiej będzie wykonać to zadanie? Od czego najlepiej zacząć, aby udało mi się zrealizować moje założenie?
Pozdrawiam
-
- Administrator
- Posty: 1315
- Rejestracja: 30 lip 2003 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Ruda Śląska
- Kontakt:
Re: rozpoznawanie obrazu problem
Witaj
Na początku to musisz odpowiedzieć na pytanie po co to robisz - co chcesz osiągnąć - kontrola wad w kształcie rowka, brak rowka itd.
Potem najlepiej jak możesz trzeba zdefiniować:
- warunki pomiaru: co jest powtarzalne, co może przeszkadzać, jakie masz oświetlenie, a jakie byłoby najlepsze.
- rowek - czy taka odległość między dwoma punktami wystarczy, czy musisz sprawdzić jego kształt? Co innego możesz znaleźć zamiast rowka.
Teraz dopiero możne stwierdzić jaka metoda będzie najlepsza do realizacji twojego zadania.
Z uwagi na fakt, iż nie mam odpowiedzi na powyższe zagadnienia i można tylko strzelać czy to o to chodzi.
W załączniku masz zrzut z Vision Assistanta, w którym zbudowałem proty skrypt do inspekcji - wczytanie obrazka, poprawa jego jasności i kontrastu, wykrycie krawędzi.
Po wykryciu krawędzi, otrzymuję współrzędne 6 punktów. Teraz tylko co ja mam z nimi zrobić, sprawdzić odległości między nimi, zmierzyć, itd. wariantów jest wiele.
Na początku to musisz odpowiedzieć na pytanie po co to robisz - co chcesz osiągnąć - kontrola wad w kształcie rowka, brak rowka itd.
Potem najlepiej jak możesz trzeba zdefiniować:
- warunki pomiaru: co jest powtarzalne, co może przeszkadzać, jakie masz oświetlenie, a jakie byłoby najlepsze.
- rowek - czy taka odległość między dwoma punktami wystarczy, czy musisz sprawdzić jego kształt? Co innego możesz znaleźć zamiast rowka.
Teraz dopiero możne stwierdzić jaka metoda będzie najlepsza do realizacji twojego zadania.
Z uwagi na fakt, iż nie mam odpowiedzi na powyższe zagadnienia i można tylko strzelać czy to o to chodzi.
W załączniku masz zrzut z Vision Assistanta, w którym zbudowałem proty skrypt do inspekcji - wczytanie obrazka, poprawa jego jasności i kontrastu, wykrycie krawędzi.
Po wykryciu krawędzi, otrzymuję współrzędne 6 punktów. Teraz tylko co ja mam z nimi zrobić, sprawdzić odległości między nimi, zmierzyć, itd. wariantów jest wiele.
rozpoznawanie obrazu problem
WItam!;)
Chodzi o detekcję rowka - jego prawidłowe wykrycie. W przypadku prawidłowego wykrycia, manipulator robota wykona zdefiniowaną akcję. W przypadku wadliwego wykrycia musi zostać zgłoszony błąd i przerwana praca robota. W taki sposób to ma działać - ta część. Czyli jeśli chodzi o udział LabVIEW, to w nim (tak mi się wydaje - mogę się mylić) musi być zrobiona odpowiednia detekcja i w zależności od niej - adekwatna reakcja zwrotna.
Co do oświetlenia, to będzie zastosowany dodatkowy doświetlacz, także myślę, że można przyjąć jednolite warunki oświetleniowe dla całego cyklu procesu. Powtarzać się będą tylko te rowki.
Jako, że rowek jest półwyspem ciemnej powłoki, najlepszym rozwiązaniem chyba byłoby szukanie w poziomie - na kilku wysokościach - krawędzi. Następnie (po wykryciu krawędzi - znając ją już) należałoby w jej pobliżu szukać krawędzi poziomych rowka. Kolejno - przecięcie linii poziomej i pionowej powinno określić krawędź rowka. W taki sam sposób myślę, że trzeba wyznaczyć dolną krawędź i później na tej podstawie wyliczyć środek - z jednej krawędzi nie będzie dokłądności jeśli weźmiemy pod uwagę chropowatość powierzchni.
zy możesz udostępnić mi ten skrypt, który zrobiłeś?
Bardzo dziękuję za pomoc.
Chodzi o detekcję rowka - jego prawidłowe wykrycie. W przypadku prawidłowego wykrycia, manipulator robota wykona zdefiniowaną akcję. W przypadku wadliwego wykrycia musi zostać zgłoszony błąd i przerwana praca robota. W taki sposób to ma działać - ta część. Czyli jeśli chodzi o udział LabVIEW, to w nim (tak mi się wydaje - mogę się mylić) musi być zrobiona odpowiednia detekcja i w zależności od niej - adekwatna reakcja zwrotna.
Co do oświetlenia, to będzie zastosowany dodatkowy doświetlacz, także myślę, że można przyjąć jednolite warunki oświetleniowe dla całego cyklu procesu. Powtarzać się będą tylko te rowki.
Jako, że rowek jest półwyspem ciemnej powłoki, najlepszym rozwiązaniem chyba byłoby szukanie w poziomie - na kilku wysokościach - krawędzi. Następnie (po wykryciu krawędzi - znając ją już) należałoby w jej pobliżu szukać krawędzi poziomych rowka. Kolejno - przecięcie linii poziomej i pionowej powinno określić krawędź rowka. W taki sam sposób myślę, że trzeba wyznaczyć dolną krawędź i później na tej podstawie wyliczyć środek - z jednej krawędzi nie będzie dokłądności jeśli weźmiemy pod uwagę chropowatość powierzchni.
zy możesz udostępnić mi ten skrypt, który zrobiłeś?
Bardzo dziękuję za pomoc.
- smiga
- Administrator
- Posty: 823
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: rozpoznawanie obrazu problem
Myślę że najbardziej nam pomożesz pomóc sobie, jeżeli wrzucisz tu 2,3 zdjęcia opisywanego problemu (elementu z rowkiem).
Czy rowek pojawia się w różnych miejscach ekranu ( przesunięcie, rotacja)? Jak wygląda tło (rozumiem, że troszkę zmienią się warunki oświetlenia)? Czy elementy wyglądają identycznie, czy mogą to być różne elementy (kształt, wielkość, charakterystyczny wzór)?
Mając te informację, a być może jeszcze parę dodatkowych (okaże się jak wrzucisz jakieś zdjęcia), można będzie sugerować optymalne algorytmy.
Tak się składa, że praktycznie każdego dnia zajmuję się wizją w Labview ( nie tylko ) i jedno mogę powiedzieć, jeżeli narysujesz sobie obiekt przypominający rzeczywisty i zadziałają na nim pewne algorytmy, to dalej nie będziesz miał pewności, że na rzeczywistym wszystko będzie OK. Szeroko pojęta "wizja" to kombinacja oświetlenia, szkła, przetworników (kamer) i algorytmów, a każdy z tych elementów to rozległa dziedzina nauki. Czasami koncentrujemy się na algorytmie, a wystarczy zmiana oświetlenia, obiektywów lub kamery (rozdzielczości, szybkości, dynamiki itd.), a czasami odwrotnie. W Vision Assistant'cie możesz szybko i łatwo przetestować praktycznie każdy z popularnych algorytmów wizyjnych, ale niestety rzadko jest tak, że jeden, dwa, trzy wystarczą. Jak poskładać te pojedyncze klocki żeby uzyskać oczekiwany efekt?... to często największe wyzwanie ... ale jest wyzwanie, jest przyjemność
Czy rowek pojawia się w różnych miejscach ekranu ( przesunięcie, rotacja)? Jak wygląda tło (rozumiem, że troszkę zmienią się warunki oświetlenia)? Czy elementy wyglądają identycznie, czy mogą to być różne elementy (kształt, wielkość, charakterystyczny wzór)?
Mając te informację, a być może jeszcze parę dodatkowych (okaże się jak wrzucisz jakieś zdjęcia), można będzie sugerować optymalne algorytmy.
Tak się składa, że praktycznie każdego dnia zajmuję się wizją w Labview ( nie tylko ) i jedno mogę powiedzieć, jeżeli narysujesz sobie obiekt przypominający rzeczywisty i zadziałają na nim pewne algorytmy, to dalej nie będziesz miał pewności, że na rzeczywistym wszystko będzie OK. Szeroko pojęta "wizja" to kombinacja oświetlenia, szkła, przetworników (kamer) i algorytmów, a każdy z tych elementów to rozległa dziedzina nauki. Czasami koncentrujemy się na algorytmie, a wystarczy zmiana oświetlenia, obiektywów lub kamery (rozdzielczości, szybkości, dynamiki itd.), a czasami odwrotnie. W Vision Assistant'cie możesz szybko i łatwo przetestować praktycznie każdy z popularnych algorytmów wizyjnych, ale niestety rzadko jest tak, że jeden, dwa, trzy wystarczą. Jak poskładać te pojedyncze klocki żeby uzyskać oczekiwany efekt?... to często największe wyzwanie ... ale jest wyzwanie, jest przyjemność

rozpoznawanie obrazu problem
Swoją drogą ciekawe zagadnienie, sprzężenie pracy manipulatora z wizją. Ciekawe jakie zadanie ma wykonywać manipulator. Warto by tutaj rozpatrzeć jeszcze jedno zagadnienie - perspektywa. Gdzieś mi ostatnio kilka ciekawych słów na ten temat wpadło do ucha ; p
- smiga
- Administrator
- Posty: 823
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: rozpoznawanie obrazu problem
Wszystko przez te druty ... w końcu są od słuchawek więc normalne, że wpada do uchaZyga pisze:... Gdzieś mi ostatnio kilka ciekawych słów na ten temat wpadło do ucha ; p

-
- Administrator
- Posty: 1315
- Rejestracja: 30 lip 2003 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Ruda Śląska
- Kontakt:
rozpoznawanie obrazu problem
smiga, masz w trzecim poście tego wątku linka do pliku ze zdjęciami które użyłem.
Dla mnie wygląda to tak, że dla tego zdjęcia będzie to działało, ale znając życie, w praktyce od razu algorytm padnie, bo będzie inaczej zdjęcie zrobione, pozycja będzie nie ta, itd, itp.
Dla mnie wygląda to tak, że dla tego zdjęcia będzie to działało, ale znając życie, w praktyce od razu algorytm padnie, bo będzie inaczej zdjęcie zrobione, pozycja będzie nie ta, itd, itp.
rozpoznawanie obrazu problem
bogdani - mogę prosić o plik, który zrobiłeś i którego efekt wrzuciłeś na forum?
Zdjęcia zamieściłem - oświetlenie będzie stałe - będzie dołączony do zestawu doświetlacz.
Elementy będą identyczne, chyba, że będą uzkodzone, ale wtedy algorytm ma dać stosowny błąd.
Pozdrawiam i dziękuję za pomoc
Zdjęcia zamieściłem - oświetlenie będzie stałe - będzie dołączony do zestawu doświetlacz.
Elementy będą identyczne, chyba, że będą uzkodzone, ale wtedy algorytm ma dać stosowny błąd.
Pozdrawiam i dziękuję za pomoc
-
- Administrator
- Posty: 1315
- Rejestracja: 30 lip 2003 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Ruda Śląska
- Kontakt:
Re: rozpoznawanie obrazu problem
W załączniku skrypt do Vision Assistanta. Jego zrobienie to jest minuta roboty, więc traktuj to jako ewentualny punkt wyjściowy a nie podstawę do działania.
- Załączniki
-
- VA_script.zip
- (1.21 KiB) Pobrany 576 razy
rozpoznawanie obrazu problem
ok, dziękuję bardzo.
Czy możesz mi jeszcze polecić, zasugerować itd jakąś lekturę potrzebną do wykonania mojego zadania? Tutorial, instrukcję, cokolwiek.. Najlepiej po Polsku, od biedy z angielskim też dam sobie radę.
Jak w ogóle konstruować programy do analizy obrazu w LabVIEW gdyż na chwilę obecną jest to dla mnie troszkę "czarna magia"?
Czy możesz mi jeszcze polecić, zasugerować itd jakąś lekturę potrzebną do wykonania mojego zadania? Tutorial, instrukcję, cokolwiek.. Najlepiej po Polsku, od biedy z angielskim też dam sobie radę.
Jak w ogóle konstruować programy do analizy obrazu w LabVIEW gdyż na chwilę obecną jest to dla mnie troszkę "czarna magia"?
-
- Administrator
- Posty: 1315
- Rejestracja: 30 lip 2003 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Ruda Śląska
- Kontakt:
rozpoznawanie obrazu problem
Cóż z książek możesz dużo przeczytać, można znaleźć sporo wiedzy w Internecie, ale to co najważniejsze to wiedza praktyczna, a tego możesz nauczyć się od kogoś.
Nie wiem jak ważny jest to projekt, ale jak będziesz to robić sam, bo możesz się podknąć się w kilku miejscach i stracić czas i pieniądze.
Czasem warto skorzystać z kogoś mądrzejszego i zrobić to szybko, profesjonalnie i przy okazji uczyć się od niego jak najwięcej.
Jest taka firma w twojej okolicy
smiga wie o niej trochę więcej
(co ja najlepszego robię
)
Nie wiem jak ważny jest to projekt, ale jak będziesz to robić sam, bo możesz się podknąć się w kilku miejscach i stracić czas i pieniądze.
Czasem warto skorzystać z kogoś mądrzejszego i zrobić to szybko, profesjonalnie i przy okazji uczyć się od niego jak najwięcej.
Jest taka firma w twojej okolicy


