Przy pracy nad jednym z projektów potrzebowałem rozwiązać kwestie związane z koordynacją wzajemną poszczególnych obiektów. Można to wykonać za pomocą konwencjonalnych metod i czujników np. foto-optycznych czy ultradźwiękowych. Postanowiłem jednak sprawdzić jak można je zastąpić jednym, uniwersalnym czujnikiem jakim jest kamera uzbrojona w oprogramowanie do analizy obrazu OpenCV.

Efekt prób przeszedł moje najśmielsze oczekiwania. Potrzebowałem dokładności 1-2 mm, a osiągnąłem rzędu 0,1 mm i to przy zwykłej kamerze VGA (640×480). Dokładność jeszcze wzrośnie jeśli użyjemy kamery HD (1920×1080) lub lepszej.

Potrzebowałem jeszcze znaleźć sposób na identyfikacje namierzonego obiektu. Najlepszym i najbardziej uniwersalnym do tego celu jest kod QR. Od razu nasuwa się pomysł, że idealnym miejscem do jego umieszczenie jest niewykorzystany środek naszego celownika, czyli czarny kwadrat. Co też zrobiłem i przetestowałem.

Do analizy obrazu wykorzystałem bibliotekę OpenCV i programowałem w Pythonie. Platforma sprzętowa, docelowo Raspberry Pi. Trochę trwało zanim się „wgryzłem” w temat, ale moim zdaniem opłacało się. Temat analizy obrazu jest dość wyspecjalizowany, ale jego znajomość daje mi pogląd na jego możliwości i zastosowania.

Dodaj komentarz