Biz gerçek zamanlı yakalar gerçekleştirmek için, bir ağ mimarisi için seçti.
AĞ BAKIŞ
Ağ C (bizim C + + mimarisi için uyarlanmış) kodlanmıştır. Kullanılan protokol TCP (biz transferts güvenilirliği gerek yok). Biz iletişim WinSocks (yuva) kullanın.
MÜŞTERİ S
Bir istemci makine yapmak için görüntü işleme işi var. Önce bir kimlik geri göndermek sunucusuna bağlanır.Sonra Kalibrasyon isteği bekler, ve şimdi başlatma isteği beklerken, kendi kalibrasyon verileri geri göndermek.Alındığında, birçok pencere açık: ilk iki kamera yapılandırması vardır. Sonra biz bir tarafta video akışı ve başka bir (biz sadece beyaz lekeler bakın) işlenmiş görüntü var. Biz algoritmalar için gerekli eşik ayarlayın ve gerçek zamanlı sonuçları görebilirsiniz. Biz izlemeyi başlatmak için beyaz benek tıklamanız gerekiyor, ve bitince biz iade çarptı. İstemci ilk yakalama başlama isteği (sunucu tarafından gönderilen) bekler.
Sonra, her müşteri senkronizasyonu sağlamak için, bir, bu sunucu bir yakalama isteği aldı sadece bir atış yapar resim işleme ve sunucuya geri veri gönderir.
SUNUCU
Sunucu açık yuva veri almak için SELECT işlevini kullanın. Bu konu, sunucu tarafında kullanımını önlemek için izin verir. Sonra, gelen bağlantılar için dinleme yuva bekleme başlatılır. Yeni yuva bir dizi konur. Çeşitli anahtar bizim dizileri initialize izin: Kalibrasyon isteği için 'C', Başlatma isteği, başlangıç isteği için 'S' 'I'.
Paquets DÖVME
Ağ oluyor paquets kurduğumuz küçük bir protokol izlenerek inşa edilir. Biz bize kalibrasyon işlemi sırasında kullanılan single shot almak için izin denilen Calibr [Client / Server] biraz modülüne sahip olduğunu unutmayın.
CalibrServer -> CalibrClient
[0x00] -> Shot İsteği (1 bayt)
[0x01] -> Bafllatma İsteği (1 bayt)
CalibrClient -> CalibrServer
[0x00] -> Shot onay (1 bayt)
CheapMocapServer -> CheapMocapClient
[N] -> Tanımlama (istemciler istemci N olarak kendini set) (1 bayt) (sadece bağlantı sırasında geçerli)