FAQ | Points | Add... | Recent posts | Search | Register | Log in


Poprawa jakości obrazu linii papilarnych


Post new topic  Reply to topic      Main Page -> Forum Index -> Programming Generally -> Poprawa jakości obrazu linii papilarnych
Author
Message
Hopin
Poziom 11
Poziom 11


Joined: 04 Mar 2007
Posts: 75
Location: Rzeszów

Post#1 Post from the author of the topic 04 Nov 2007 15:49   

Poprawa jakości obrazu linii papilarnych


Witam

Pytanie do wszystkich zajmujących się obróbką obrazu, ale i nie tylko :D
Może zacznę od początku. Zrobiłem program, który pobiera obraz z czytnika linii papilarnych i zapisuje go do pliku. Problem w tym że ten obraz nie jest idealny:
Poprawa jakości obrazu linii papilarnych

Obraz ten jest w odcieniach szarości (0-255), i rozdzielczości 256x300. Myślę, że na początek trzeba go zamienić na obraz czarno biały, co też zrobiłem. Jednak nie wiem jak dalej postępować z tym obrazem, aby wyglądał np tak:

Poprawa jakości obrazu linii papilarnych

Próbowałem zastosować różne filtry np. dolnoprzepustowy, medianowy, zamknięcie, otwarcie... Oraz kombinacje np. dolnoprzepustowy-zamkniecie, medianowy-otwarcie itd. jednak żaden nie przyniósł oczekiwanego przeze mnie rezultatu.

Moje pytanie brzmi: Jakie filtry zastosować, lub jakie algorytmy aby uzyskać oczekiwany przeze mnie wynik :?:

Dodam jeszcze, że program piszę w Visual C++, jednak to raczej nie ma znaczenia bo na razie chciałbym poznać teorie, a dopiero potem przełożyć to na język.

Proszę o pomoc i pozdrawiam
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 04 Nov 2007 15:49   





Back to top
   
MirekCz
Poziom 22
Poziom 22


Joined: 10 Dec 2004
Posts: 2198
Location: Gdańsk/Poznań

Post#2 05 Nov 2007 12:52helpful post - solution   

Re: Poprawa jakości obrazu linii papilarnych


Nie konwertuj obrazu na czarno-biały, bo stracisz całą masę informacji.

Generalnie próbowałbym w takim kierunku:

1.Zwiększyć kontrast (i może trochę zmniejszyć jasność.. to już by pewnie zależało od danego zdjęcia i jego średniej jasności)

2.Przepuścić przez filtr (mediana lub wprost filtr który np zwraca kolor czarny jeżeli 2-3 punkty w pobliżu są koloru czarnego/szarego)

3.Teraz dopiero zamienić na obraz czarno-biały (generalnie można to zrobić łącznie z pkt. 2)

Ewentualnie przed pkt. 2 możesz jeszcze spróbować jakiś filtr gaussa (generalnie rozmazanie) z tym tylko, że nakładasz wynikowy kolor tylko jeżeli jest ciemniejszy niż kolor oryginalny. Tak żeby pogrubić/wzmocnić już istniejące linie.
Back to top
   
KeinXor
Poziom 17
Poziom 17


Joined: 30 Mar 2005
Posts: 397
Location: Czeladź

Post#3 05 Nov 2007 13:25   

Re: Poprawa jakości obrazu linii papilarnych


wydaje mi się że warto by sie zainteresować hasłami binaryzacja, progowanie.


http://www.elektroda.pl/rtvforum/topic337597.html
Back to top
   
Google

Google Adsense


Post# 05 Nov 2007 13:25   





Back to top
   
Hopin
Poziom 11
Poziom 11


Joined: 04 Mar 2007
Posts: 75
Location: Rzeszów

Post#4 Post from the author of the topic 05 Nov 2007 16:02   

Re: Poprawa jakości obrazu linii papilarnych


:arrow: KeinXor
Binaryzacja raczej już jest zrobiona. Przecież odczytuje obraz i wyświetlam go na ekranie, poza tym zapisuje go w pliku oraz mogę odwołać się do konkretnego punktu w obrazie (inaczej nie mógłbym przetwarzać w żaden sposób tych danych, nakładać filtrów). W Visualu jest taka wartość BYTE która przechowuje wartości określonych pikseli.

:arrow: MirekCz
Tak w 100% zgadzam się z Tobą, że na początku nie można zamieniać na czarno-biały. Robię właśnie tak jak mówisz, najpierw przepuszczam przez filtr (filtry) a potem dopiero zamieniam na czarno-biały. Nie wiem czy to jest to samo co filtr Gaussa ale używałem filtru rozmywanie. Ale niestety nic ciekawego nie przyniósł. Poszukam jeszcze informacji o filtrze Gaussa. Bo właśnie chodzi też o to żeby pogrubić te linie, a najlepiej żeby były wszystkie takiej samej grubości.

Dziękuje za odpowiedzi, i czekam na kolejne wskazówki i uwagi...
Pozdrawiam
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 05 Nov 2007 16:02   





Back to top
   
KeinXor
Poziom 17
Poziom 17


Joined: 30 Mar 2005
Posts: 397
Location: Czeladź

Post#5 05 Nov 2007 21:25helpful post - solution   

Re: Poprawa jakości obrazu linii papilarnych


siemanko,
:arrow: Hopin, nie bardzo mogę się zgodzić z tobą i z tym co piszesz z tego co pamiętam to binaryzacja(progowanie) - kwalifikacja pikseli do zbioru których wartość przekracza lub jest równa zadanemu progowi.
Jest książka "Praktyka przetwarzania obrazów w programie Matlab" której autorem jest mi. Dr Robert Koprowski.
Back to top
   
sirsimon
Poziom 10
Poziom 10


Joined: 28 Dec 2005
Posts: 52
Location: Krosno

Post#6 06 Nov 2007 11:13helpful post - solution   

Re: Poprawa jakości obrazu linii papilarnych


:arrow: Hoppin
A może pokażesz nam jakie wyniki dają te filrty, które stosujesz. Bo może być tak, że ktoś tu się produkuje, a Ty masz zrobione to o czym mówimy i powinniśmy zająć sie następnym zagadnieniem. Bo z tego co tu czytam, to Twoj obraz jest przefiltrowany, a chodzi o to, żeby wynik filtracji jeszcze jakoś uregulować, by linie były ciągłe i równe.

:arrow: KeinXor
Co do binaryzacji, to jest to po prostu zamiana obrazu RGB, czy szarego na obraz czarno-biały. Patrząc na ten odcisk, próg byłby na pewno wysoki, gdyż obraz jest bardzo jasny. Może nawet bliski koloru białego.

Pozdrawiam i powodzenia
Back to top
   
Hopin
Poziom 11
Poziom 11


Joined: 04 Mar 2007
Posts: 75
Location: Rzeszów

Post#7 Post from the author of the topic 06 Nov 2007 13:39   

Re: Poprawa jakości obrazu linii papilarnych


Witam

KeinXor masz rację, trochę się nie zrozumieliśmy.

SirSimon się dopominał więc umieszczam :D Najlepsze wyniki jakie udało mi się osiągnąć. Jak można je jeszcze "obrobić" żeby linie oraz odstępy między nimi były takiej samej szerokości? Jakie rozwiązania jeszcze proponujecie?

1. Filtr dolnoprzepustowy+otwarcie. || 2. Filtr medianowy+zamknięcie.
Poprawa jakości obrazu linii papilarnych Poprawa jakości obrazu linii papilarnych

Pozdrawiam
Back to top
   
sirsimon
Poziom 10
Poziom 10


Joined: 28 Dec 2005
Posts: 52
Location: Krosno

Post#8 06 Nov 2007 14:08helpful post - solution   

Re: Poprawa jakości obrazu linii papilarnych


Widzę, że niestety w niektórych miejscach się obraz zlewa. Może zanim zaczniesz filtrować obrazy, poddaj je procesowi szkieletyzacji (wynikiem są linie ciągłe grubości jednego piksela), a potem w jakiś sposób pogróbić, np. za pomocą dylatacji :?:
Back to top
   
Google

Google Adsense


Post# 06 Nov 2007 14:08helpful post - solution   





Back to top
   
Hopin
Poziom 11
Poziom 11


Joined: 04 Mar 2007
Posts: 75
Location: Rzeszów

Post#9 Post from the author of the topic 24 Nov 2007 16:29   

Re: Poprawa jakości obrazu linii papilarnych


Niestety, żaden filtr, kombinacja filtrów nie przynosi wyników przynajmniej zbliżonych do tych które chciałbym uzyskać :|
Czytałem trochę na temat poprawy jakości obrazu linii papilarnych, i natrafiłem na "filtr Gabora", próbuje go teraz przełożyć na C++ jednak nie jest to łatwe, niby z matematycznego punktu widzenia wszystkie wzory są przełożone właściwie a filtr nie chodzi. I tutaj zwracam się z pytaniem.

Może ktoś przede mną pracował z tym filtrem w C++? I może udało się komuś go uruchomić?

Proszę o wszelką pomoc, pozdrawiam
Back to top
   
And!
Poziom 23
Poziom 23


Joined: 22 Aug 2002
Posts: 3986
Location: Świętokrzyskie

Post#10 28 Nov 2007 20:49   

Re: Poprawa jakości obrazu linii papilarnych


Obrazek trafi zapewne na sieć neuronową,
myślę że sieć powinna sobie poradzić nawet bez zaawansowanych technik obróbki.

W jaki sposób odczytujesz dane z czytnika, ma jakiś standardowy interfejs (HID ?) ?
Back to top
   
Hopin
Poziom 11
Poziom 11


Joined: 04 Mar 2007
Posts: 75
Location: Rzeszów

Post#11 Post from the author of the topic 29 Nov 2007 11:36   

Re: Poprawa jakości obrazu linii papilarnych


Witam
Na podstawie biblioteki "libusb-win32" mam stworzony plik dll (sterownik) który obsługuje czytnik. Poprzez tę bibliotekę odwołuje sie do urządzenia i pobieram z niego dane. Mogę je wyświetlić na ekranie w normalnym ImageControl w Visualu C++ lub strumień ten od razu zapisać do pliku.

Chciałem zrobić rozpoznawanie odcisków "typowym" algorytmem, tzn poprzez wyszukanie minucji ale do tego potrzebowałbym niemal idealnych linii na obrazie, wiec pewnie będę musiał zrobić tak jak radzisz... Czyli zastosować SSN.

Pokaże jednak wynik jaki udało mi się uzyskać z filtru Gabora, obraz jest w połowie właśnie taki jaki chciałbym uzyskać.

Poprawa jakości obrazu linii papilarnych Poprawa jakości obrazu linii papilarnych
Back to top
   
Post new topic  Reply to topic      Main Page -> Forum Index -> Programming Generally -> Poprawa jakości obrazu linii papilarnych
Page 1 of 1
Similar topics
[Java] Obsługa czytnika linii papilarnych USB. (3)
Bezdotykowy czytnik linii papilarnych - projekt demonstracyj (2)
Identyfikacja za pomocą linii papilarnych. Skaner + atmega. (3)
USB + Java -> Obsługa czytnika linii papilarnych (33)
AVR + Czytnik linii papilarnych. (9)
Czytnik linii papilarnych (7)
Wyodrębnienie linii lasera z obrazu (51)
Transmisja obrazu po linii telefonicznej(DTMF,VGA,uC) (1)
Współdzielenie linii 89c52 UART+piezo na jednej linii? (11)

Page generation time: 0.131 seconds


FAQ || Administrator || Moderators || Widgets and banners || Contact
elektroda.pl topic RSS feed