Witam. Piszę program, który w czasie rzeczywistym wyszukuje dany obrazek / zestaw pikseli. Problem w tym, że ten obrazek cały czas się zmienia. Jest bardzo podobny ale odcień pikseli się zmienia. Kilka zdjęć w załączniku, dla przykładu. Chciałbym, żeby ten program rozpoznawał dany obrazek mimo, że jest troszkę inny. Do napisania tego wykorzystuję język AutoIT i biblioteki
IMGSearch(https://www.youtube.com/watch?v=nmexGsEm0Gs&t=287s) lub
PixelSearch(https://www.youtube.com/watch?v=J2aEJQyFf_4).
Może jednak wrzuć te obrazki jako załączniki do posta, jakoś nie uśmiecha mi się otwieranie RARa w którym może być wszystko ;)
Co do wyszukiwania, nie wiem czy istnieje jakiś binding OpenCV do AutoIT, żeby wykorzystać jakieś gotowce które powinny tam być ale tak na dobrą sprawę mógłbyś zrobić to
- metodą dość prymitywną, czyli obliczyć średnie odchylenie kwadratowe składowych każdego piksela od wzorcowego, znormalizować względem przestrzeni kolorów (błąd nie będzie większy niż 255^2 na jednej składowej) i rozmiaru obrazu i przyjąć dopuszczalną progową różnicę - np. 1e-3, 1e-4 itd.
- metodą "z armatą na wróble", czyli nauczyć sieć neuronową rozpoznawać dany obrazek na lekko zmodyfikowanych kopiach docelowego obrazu, np. zmieniony odcień, kontrast, dodany jakiś maźg z pikseli itd - tracisz kontrolę nad algorytmem na rzecz widzimisię sieci, ale możesz dostać coś ciekawego :)
Dla lepszego efektu rozważ konwersję obrazu z RGB do YCbCr - badanie różnic w luminancji i chrominancji obrazu jest nieco bardziej "naturalne", niż w składowych RGB ;)