Bazując na kodzie
Philippa Pearce służącym do przechwytywania obrazu z kamery stworzyłem małą aplikację do detekcji podstawowych 16 kolorów. Podobno niemożliwe, a jednak możliwe, prawda Moniczko? Oczywiście można rozszerzyć ilość kolorów do większej palety jednak ja wołałem zostać przy podstawowej palecie. Ponadto możliwe, że w przyszłości uzupełnię program o opcje ładowania grafiki z określonej lokalizacji. Program jest na tyle intuicyjny, że myślę, że nie trzeba nic tłumaczyć. Gdy klikniemy w przycisk detekcji to wywali nam
Alert, czyli po języku programistów aplikacji tzw.
MessageBox.
Kluczową sprawą jest oświetlenie. Jeżeli będzie nieprawidłowe to uzyskamy niewłaściwy wynik, co nie powinno nas dziwić. Zwróćcie uwagę na fotografię poniżej:
W rzeczywistości moje ściany są krwistoczerwone. Po zbiciu do palety podstawowych webowych kolorów uzyskujemy coś takiego:
I w wyniku przeliczenia program powie nam, że dominującym kolorem jest kolor żółty. Tzw. żarówki energooszczędne są marnym źródłem światła.
Ważnym aspektem dobrej detekcji koloru jest oświetlenie oraz umiejscowienie przedmiotu, którego kolor chcemy badać. Najlepiej, aby obiekt zakrywał cały przechwytywany obraz. Jeżeli mamy kamerę, która automatycznie odpowiednio przybliża i oddala obraz to mamy ułatwioną sprawę.
Jeżeli będę miał trochę czasu to może napiszę taką aplikację na telefon, bo poszła sugestia, aby taka powstała. Jak widzicie małym kosztem można uzyskać cel. Nie trzeba koniecznie kupować specjalnego osprzętowania służącego do detekcji kolorów.
Ah i bym zapomniał link do aplikacji
detekcja-koloru.rar Dla jasności powiem tylko tyle, że została ona napisana w C# i wymaga .NET Framework 2.0. Używacie jej na własną odpowiedzialność!
Komentarze
Publikowane komentarze są prywatnymi opiniami użytkowników serwisu. Serwis nie ponosi odpowiedzialności za treść opinii. W trosce o zachowanie poziomu dyskusji wszystkie komentarze podlegają akceptacji przed ich publikacją dlatego proszę cierpliwie czekać aż komentarz zostanie opublikowany.
Dodaj komentarz
Zezwolono używać:
BBCode
Zabroniono używać:
znaczników HTML
CapaciousCore