Odczytywanie tablic rejestracyjnych.

Tematyka związana z tworzeniem aplikacji w LabVIEW do obsługi wizji oraz wszelkich operacji na obrazie.
zwiertara32
Posty: 4
Rejestracja: 12 gru 2012 18:01
Wersja środowiska: LabVIEW 2012

Odczytywanie tablic rejestracyjnych.

Post autor: zwiertara32 » 12 gru 2012 19:17

Witam.

Muszę stworzyć program, który znajdzie na zdjęciu tablicę rejestracyjną i odczyta numery pojazdu.
Dysponuję LabView 2012 i Vision Assistant 2012.

Robiłem próby z samym OCR, ale przy ręcznym zaznaczeniu tablicy efekt jest lepszy niż przy przetwarzaniu całego zdjęcia.
Mógłbym prosić o jakąś wskazówkę jak się za to zabrać?

Z góry dziękuję za pomoc

Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2014
Lokalizacja: United Kingdom

Odczytywanie tablic rejestracyjnych.

Post autor: Mikrobi » 12 gru 2012 19:28

Ustal stały Region OF Interest na zdjęciu. Wtedy przetwarzanie jest realizowane dla wybranego obszaru (wybacz trywialność stwierdzenia B-))
To wymusza sztywną lokalizację kamery i (optymalnie) stałe warunki oświetleniowe.

...a! tablice, tablice dobrze będzie jesli będą ... czyste ;)
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI

zwiertara32
Posty: 4
Rejestracja: 12 gru 2012 18:01
Wersja środowiska: LabVIEW 2012

Odczytywanie tablic rejestracyjnych.

Post autor: zwiertara32 » 12 gru 2012 19:31

Niestety jako dane dostałem zdjęcia, gdzie tablice są w różnych miejscach zdjęcia, mało tego niektóre pod kątem :(

Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2014
Lokalizacja: United Kingdom

Odczytywanie tablic rejestracyjnych.

Post autor: Mikrobi » 12 gru 2012 19:33

Obrób wstępnie zdjęcia tak żeby tablice były w miarę powtarzalnych miejscach.
To pozwoli na redukcję ROI.
Ostatnio zmieniony 12 gru 2012 19:34 przez Mikrobi, łącznie zmieniany 1 raz.
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI

zwiertara32
Posty: 4
Rejestracja: 12 gru 2012 18:01
Wersja środowiska: LabVIEW 2012

Odczytywanie tablic rejestracyjnych.

Post autor: zwiertara32 » 12 gru 2012 19:42

I właśnie tutaj pojawia się pytanie, czy da się zrobić tak aby automat sam obrabiał zdjęcia, np wyszukując i wycinając tablice?
Jeśli skrypt znajdzie przez przypadek więcej niż jedną tablicę na zdjęciu, to nic bo zapewne później OCR się nie powiedzie.

Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2014
Lokalizacja: United Kingdom

Odczytywanie tablic rejestracyjnych.

Post autor: Mikrobi » 12 gru 2012 20:34

Sprawdź,chyba że jesteś autorem skryptu i rozumiesz w jaki sposób operuje na obrazie.
Pracujesz na pasywnych danych, nie trać czasu na spekulacje, przeanalizuj jak i dlaczego skrypt operuje na zdjęciach o konkretnych cechach.
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI

zwiertara32
Posty: 4
Rejestracja: 12 gru 2012 18:01
Wersja środowiska: LabVIEW 2012

Odczytywanie tablic rejestracyjnych.

Post autor: zwiertara32 » 12 gru 2012 20:43

Przejęzyczyłem się, chodziło mi o program, nie o skrypt.
Ja potrzebuję zrealizować taki program, niestety nie mam co analizować.

Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2014
Lokalizacja: United Kingdom

Odczytywanie tablic rejestracyjnych.

Post autor: Mikrobi » 12 gru 2012 20:47

Zatem zacznij od zebrania zdjęć.
Potem działaj bazując na Vision Asistant - to narzędzie które pomaga przygotować skrypt analizy obrazów.
Umożliwi sprawdzenie różnych wariantów przetwarzania potem pozwoli wygenerować kod w LabVIEW.
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI

Zyga
Posty: 76
Rejestracja: 26 sty 2012 23:36
Wersja środowiska: LabVIEW 2011

Re: Odczytywanie tablic rejestracyjnych.

Post autor: Zyga » 13 gru 2012 12:50

Dużo zależy od tego jak bardzo masz zaszumione tło. Jeśli nie ma tragedii to znajduj najpierw na zdjęciu jakiś charakterystyczny element, np flagę Polski. Później na podstawie jej położenia umiejscawiasz ROI dla OCR.

Awatar użytkownika
Koss
Posty: 23
Rejestracja: 19 paź 2012 20:40
Wersja środowiska: LabVIEW 2012

Re: Odczytywanie tablic rejestracyjnych.

Post autor: Koss » 13 gru 2012 20:44

Zakładając że tablice rejestracyjne wyglądają dość podobnie (nie są szczególnie mocno zniekształcone/poprzekrzywiane) spróbuj użyć Pattern Matching znajdujący tablice i robić OCR w znalezionym miejscu.
Obrazek
Extensa - certyfikowani programiści NI LabVIEW

Awatar użytkownika
smiga
Posty: 693
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk
Has thanked: 3 times
Been thanked: 1 time
Kontakt:

Re: Odczytywanie tablic rejestracyjnych.

Post autor: smiga » 13 gru 2012 22:31

Tak się składa, że budowałem system weryfikacji poprawności wykonania tablic w procesie produkcyjnym (dla jednego z polskich producentów tablic) - do dziś działa świetnie i klient jest zadowolony. :-)
http://optinav.pl/pl/info/produkty/optiregplate.html

Badanych jest w nim kilkadziesiąt parametrów, a do wielu z nich potrzebne było przeczytanie treści, czyli OCR. Tablica lądowała na stole pomiarowym w losowy sposób, czyli rotacja, przesunięcie.
Najpierw wykrywany jest stały wzorzec, czyli PL ... (jak sugeruje Zyga, tylko zapomniał, że nie ma już flagi Polski, tylko znak EU :-) ). Przypisujemy do niego wstępny referencyjny układ współrzędnych, na podstawie którego (przesunięcia i rotacje) szukana jest długa krawędź, do której przypisywany jest główny referencyjny układ współrzędnych (długi wektor, większa dokładność i stabilność przy rotacji). Dopiero w stałym położeniu do tego układu przypisywana jest ramka ROI dla OCR'a. W Twoim przypadku podejrzewam wystarczy znaczek PL. Pamiętaj też, że są różne tablice (motocyklowa, motorowerowa), które mają różnej wielkości znacznik PL i w różnych miejscach znaki/numery, a także występują one w jednym lub dwóch rzędach. Temat ogólnie nie jest bardzo trudny do ogarnięcia, ale biorąc pod uwagę 4 typy tablic, wymaga pewnej żonglerki.

Istnieje możliwość, że dostajesz zdjęcia tablic pod kątem, czyli z perspektywą ... to już jest inne wyzwanie, czyli trzeba uwzględnić perspektywę lub ją zlikwidować ... ale nie wiem czy to jest Twój problem.
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek

alien2507
Posty: 7
Rejestracja: 13 lis 2012 22:09
Wersja środowiska: LabVIEW 2010

Re: Odczytywanie tablic rejestracyjnych.

Post autor: alien2507 » 05 sty 2013 13:56

Witam,
Odświeżam temat. Stworzyłem przez Geometric Matching wzorzec którym znajduję tablice na różnych zdjęciach pod różnym kątem, ale teraz w jaki sposób powiązać to z OCR? W jaki sposób związać to z np krawędzią lub znaczkiem? W sumie wolałbym z krawędzią tablic bo niektóre tablice są zabrudzone i znaczka nie widać.

Awatar użytkownika
smiga
Posty: 693
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk
Has thanked: 3 times
Been thanked: 1 time
Kontakt:

Re: Odczytywanie tablic rejestracyjnych.

Post autor: smiga » 05 sty 2013 20:45

Najprościej, odpalasz Vision Assistant'a i robisz jak na rysunkach poniżej:
Z Assistanta generujesz kod do Labview (Tools/ Create Labview VI...) i widzisz jak to jest zrobione.
Na górnym rysunku (na dole) widzisz Set Coordinate System 2, a na drugim w OCR wybierasz go w Setup/Main
Załączniki
tablica2.jpg
tablica2.jpg (93.69 KiB) Przejrzano 12551 razy
tablica1.jpg
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek

alien2507
Posty: 7
Rejestracja: 13 lis 2012 22:09
Wersja środowiska: LabVIEW 2010

Re: Odczytywanie tablic rejestracyjnych.

Post autor: alien2507 » 07 sty 2013 22:23

Super. O to mi właśnie chodziło. Dziękuję bardzo.

Kornel1985
Posty: 37
Rejestracja: 28 kwie 2007 00:00

Re: Odczytywanie tablic rejestracyjnych.

Post autor: Kornel1985 » 18 maja 2015 16:20

Witam,
Dołączam się do tematu mam taki dziwny problem ściągnąłem z forum skrypt z Vision Assistant do odczytywania numerów tablic. I zawsze pokazuje mi znaki zapytania. Nawet jak wezmę w Vision samo OCR zaznaczę na zdjęciu tablicę odnajdzie litery ale w wyniku w miejscu Text read pokazuje mi znaki zapytania proszę o pomoc. Zdjęcie w załączniku.
Pozdrawiam
Załączniki
Bez tytułu.jpg
Bez tytułu.jpg

ODPOWIEDZ