Skip to content

🚆 Wykrywacz loga Warszawkich Kolei Dojazdowych jako projekt z POBR

License

Notifications You must be signed in to change notification settings

Antyradek/warkod

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

                    _             _ 
__      ____ _ _ __| | _____   __| |
\ \ /\ / / _` | '__| |/ / _ \ / _` |
 \ V  V / (_| | |  |   < (_) | (_| |
  \_/\_/ \__,_|_|  |_|\_\___/ \__,_|
                                    
WarKoD - Wykrywacz loga Warszawskich Kolei Dojazdowych
                                    
Program przyjmuje plik zdjęcia i wykrywa na nim logo Warszawskich Kolei Dojazdowych.
                                    
Napisany w C++ w najnowszym standardzie.
Użyj dołączonego CMake do kompilacji.
Warto ustawić zmienną CXXFLAGS=-O2, co ustawi flagi kompilacji dla CMake, w celu przyspieszenia programu.
Licencja GPL.
                                    
Projekt używa:
• opencv (testowane na wersji 4.0.0)
• pthread
Dla Ubuntu biblioteka OpenCV jest w pakietach:
• libopencv-core-dev
• libopencv-highgui-dev

Algorytmy zostały zaimplementowane w C++, obiektowo. 
Co oznacza, że program będzie wolniejszy niż alternatywne implementacje w C, bazujące na tablicach, raczej niż na kontenerach.
Optymalizacje są, ale tylko na niektórych etapach.
Jednak dzięki obiektowości, kod jest mało awaryjny, czytelny (na ile C++ jest czytelne) i łatwy do debugu.

Możliwe optymalizacje:
• Wielowątkowość przetwarzania jednego obrazu przy segmentacji
• Przetwarzanie fragmentu obrazu, zamiast całości

Optymalizacje:
• Wielowątkowe stosowanie filtra, osobny wątek na każdy wiersz

Zaimplementowane funkcjonalności:
• Filtr medianowy, kwadratowy o dowolnej wielkości
• Rozdzielenie obrazu na obrazy binarne względem koloru
• Rozdzielenie obrazu binarnego na spójne obiekty
• Wyliczanie niezmienników obrazu
• Porównywanie obiektów po cechach
• Wykrywanie najlepszych dopasowań
• Porównywanie odległości między obiektami

Opcjonalne funkcje:
• Optymalizacje i wielowątkowość w większej ilości miejsc
• Wczytywanie parametrów algorytmów z linii poleceń (może będzie potrzebny boost, albo popt), a potem jakieś maszynowe ustawianie ze skryptu
• Wykrywanie więcej, jak jednego loga
• Ulepszenie algorytmu szukania konfiguracji obiektów
• Kompilowalność na Windowsie

About

🚆 Wykrywacz loga Warszawkich Kolei Dojazdowych jako projekt z POBR

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published