OpenCV'de Artırılmış Gerçeklik SDK'sı geliştiriyorum. Konuyla ilgili öğreticiler bulmakta, izlenecek adımlar, olası algoritmalar, gerçek zamanlı performans için hızlı ve verimli kodlama vb. Bulmakta bazı problemler yaşadım.
Şimdiye kadar sonraki bilgileri ve faydalı bağlantıları topladım.
OpenCV kurulumu
En son sürüm sürümünü indirin .
Kurulum kılavuzlarını burada bulabilirsiniz (platformlar: linux, mac, windows, java, android, iOS).
Çevrimiçi belgeler .
Arttırılmış gerçeklik
Yeni başlayanlar için burada OpenCV'de basit bir artırılmış gerçeklik kodu var. Bu iyi bir başlangıç.
İyi tasarlanmış son teknoloji bir SDK arayan herkes için, OpenCV işlevlerini göz önünde bulundurarak, işaretleyici izlemeye dayalı her artırılmış gerçekliğin sahip olması gereken bazı genel adımlar buldum.
Ana program: tüm sınıfları oluşturur, başlatma, videodan kareler yakalar .
AR_Engine sınıfı: Bir artırılmış gerçeklik uygulamasının parçalarını kontrol eder. 2 ana durum olmalıdır:
- algılama : sahnedeki işaretleyiciyi algılamaya çalışır
- izleme : bir kez tespit edildiğinde, işaretleyiciyi gelecek karelerde yakalamak için daha düşük hesaplama teknikleri kullanır.
Ayrıca her karede kameranın konumunu ve yönünü bulmak için bazı algoritmalar bulunmalıdır. Bu, sahnede tespit edilen işaretleyici ile çevrimdışı işlediğimiz işaretleyicinin 2D görüntüsü arasındaki homografi dönüşümünü tespit ederek elde edilir. Bu yöntemin açıklaması burada (sayfa 18). Poz Tahminleri için ana adımlar şunlardır:
Kamera İç Parametrelerini yükleyin . Daha önce kalibrasyon yoluyla çevrimdışı çıkarıldı.
İzlenecek deseni (işaretleyici) yükleyin : İzleyeceğimiz düzlemsel işaretleyicinin bir görüntüsüdür. Bu model için özellikleri çıkarmak ve tanımlayıcılar (temel noktalar ) oluşturmak gerekir, böylece daha sonra sahnedeki özelliklerle karşılaştırabiliriz. Bu görev için algoritmalar:
Her kare güncellemesi için , sahneden özellikleri çıkarmak için bir algılama algoritması çalıştırın ve tanımlayıcılar oluşturun. Yine birkaç seçeneğimiz var.
Kalıp ve sahne tanımlayıcıları arasındaki eşleşmeleri bulun .
Bu eşleşmelerden Homografi matrisini bulun . RANSAC, önceden eşleşme setinde ender / aykırı değerleri bulmak için kullanılabilir.
Özü Kamera poz homograf dan.
- Homografiden Poz üzerine örnek kod .
- Poz'dan Homografi üzerine örnek kod .