QR kodu izlemeye genel bakış

QR kodu örneğinin GitHub deposuna erişmek için:

HoloLens 2 ve çevreleyici kulaklıklarla, mikrofonlu kulaklığın etrafındaki ortamda QR kodlarını algılayabilir ve her kodun gerçek dünya konumunda bir koordinat sistemi oluşturabilirsiniz. Paylaşılan bir deneyim oluşturmak için hologramları birden çok cihazda aynı konumda da işleyebilirsiniz. Cihazınızın web kamerasını etkinleştirdikten sonra projelerinizin en son sürümlerinde QR kodlarını tanırsınız. Üretime giden en iyi sonuçlar için en iyi yöntemler bölümünü gözden geçirmenizi öneririz.

Bu makaleyi okuyarak şunları öğrenebilirsiniz:

Cihaz desteği

Özellik HoloLens 1. Nesil HoloLens 2 Çevreleyici kulaklıklar
QR kodu algılama ✔️ ✔️

Not

Masaüstü bilgisayarlarda çevreleyici Windows Mixed Reality kulaklıklı QR kodu izleme, Windows 10 Sürüm 2004 ve üzeri sürümlerde desteklenir. Özelliğin Microsoft.MixedReality.QRCodeWatcher.IsSupported() geçerli cihazda desteklenip desteklenmediğini belirlemek için API'yi kullanın.

Desteklenen QR kodu sürümleri

Aşağıdaki tabloda desteklenen ve desteklenmeyen QR kodu sürümleri listelenmektedir:

  QR Kodu sürümleri
Desteklenen:
  • QR sürümleri 1 - 10
  • Mikro QR kodları M1-M4
  • Tüm kodlamalar
Desteklenmez:
  • QR Kodları 10 - 20 (bunlar çalışabilir, ancak garanti edilmemektedir)
  • QR Kodları 20+
  • İnce ayarlı modüller, örneğin: dairesel modüller, yansımalar, ters (siyah/beyaz).
  • Logo
  • Yapılandırılmış eklemeler

    QR kodu algılama için en iyi yöntemler

    QR kodlarının etrafındaki sessiz bölgeler

    Doğru okunabilmek için QR kodları, kodun tüm taraflarında bir kenar boşluğu gerektirir. Bu kenar boşluğu yazdırılmış içerik içermemelidir ve dört modül (kodda tek bir siyah kare) genişliğinde olmalıdır.

    QR belirtimi sessiz bölgeler hakkında daha fazla bilgi içerir.

    Aydınlatma ve arka plan

    QR kodu algılama kalitesi, çeşitli aydınlatmalara ve arka plana duyarlıdır.

    • Normal aydınlatma koşullarında, daha iyi performans için siyah/beyaz modüller için yeterli karşıtlık sağlayın.

    • Parlak aydınlatma veya koyu arka plan ile aşırı aydınlatma koşullarında, QR kodu algılama hızını geliştirebilecek karşıtlığı azaltmayı ve ayarlamayı deneyebilirsiniz. QR kodundaki beyaz arka plan 255'ten aşağı doğru azaltılabilir.

    QR kodlarının boyutu

    Windows Mixed Reality cihazlar, 5 cm'den küçük kenarlara sahip QR kodlarıyla çalışmaz.

    5 cm ile 10 cm arasında değişen yanlara sahip QR kodları için, cihazın kodu algılamak için oldukça yakın olması gerekir. Kodu algılamak daha uzun sürebilir.

    Kodların tam olarak algılanma süresi yalnızca QR kodlarının boyutuna değil, koddan ne kadar uzakta olduğunuz da bağlıdır. Koda yaklaşmak, boyutla ilgili sorunları dengelemeye yardımcı olur.

    QR kodundan uzaklık ve açısal konum

    İzleme kameraları yalnızca belirli bir ayrıntı düzeyini algılayabilir. Küçük kodlar için (yanlar boyunca 10 cm'den az) oldukça yakın olmanız gerekir. 10 cm ile 25 cm arasında değişen sürüm 1 QR kodu için minimum algılama mesafesi 0,15 metre ile 0,5 metre arasındadır.

    Boyut algılama uzaklığı doğrusal olarak artar, ancak desteklenen QR sürümüne veya modül boyutuna da bağlıdır. Sürüm ne kadar yüksek olursa modüller o kadar küçüktür ve bu modüller yalnızca daha yakın bir konumdan algılanabilir. Algılama mesafesinin daha uzun olmasını istiyorsanız mikro QR kodlarını da deneyebilirsiniz. QR algılama, kodu algılamak için uygun çözünürlüğe sahip olduğumuzdan emin olmak için += 45 derecelik bir açı aralığıyla çalışır.

    Algılama konusunda dikkat edilmesi gereken diğer noktalar:

    • Kavisli yüzeylerde QR kodları desteklenmez.
    • Düzlem içi yönlendirme desteklenir. Daha iyi algılamaya sahip olmak <için düzlem dışı = +-45 doğrudan üzerine bakmalıdır.
    • QR kodunun fiziksel boyutu en az 2/3 piksellik modüllere sahip olmalıdır. Not: QR kodlarının daha yüksek sürümlerinde daha küçük modüller bulunur.

    En iyi algılama için QR kodunun uzaklığı ve boyutu arasındaki denge ilişkisi için aşağıdaki grafiğe bakın:

    QR kodu boyutu uzaklık grafiği

    Önemli

    Her zaman yeterli karşıtlık ve uygun bir kenarlığınız olduğundan emin olun.

    QR kodu verilerini yönetme

    Windows Mixed Reality cihazlar QR kodlarını sürücüdeki sistem düzeyinde algılar. Cihaz yeniden başlatıldığında veya sürücü yeniden başlatıldığında algılanan QR kodları geçmişi temizlenir. Yeniden algılanan QR kodları yeni nesneler olarak kabul edilir.

    Uygulamanızı, uygulama içinde belirtilebilen belirli bir zaman damgasından daha eski QR kodlarını yoksayacak şekilde yapılandırmanızı öneririz. QR Kod API'si, son algılamanın gerçekleştiği saati belirtir. Çoğu uygulama geliştiricisi, qr kodunun algılandığı zamanı belirlemek için uygulamanın başlatıldığı sistem saatini kullanır.

    QR kodu verileri uygulamaya özgü değildir. Uygulama başlatıldıktan sonra kullanılabilir QR kodlarının listesi sağlanacaktır. Uygulama geliştiricisi, hangi QR kodlarının bu uygulamayla ilgili olduğunu belirler.

    Bir alana QR kodu yerleştirme

    QR kodlarının nereye ve nasıl yerleştirileceğine ilişkin öneriler için HoloLens için ortamda dikkat edilmesi gerekenler bölümüne bakın.

    Sorun Giderme ve SSS

    Hangi özellikler gereklidir?

    Bildiriminize web kamerası özelliğinin eklenmesi gerekir ( Unity Özellikleri'nde onay kutusu). Standart bir UWP projesi olarak oluşturuyorsanız, çözüm projesinde de package.appxmanifest bulunur.

    Aşağıdaki işlevi çağırarak erişim isteyin:

    #if WINDOWS_UWP
    
    async QRCodeWatcher.RequestAccessAsync();
    
    #endif
    

    Erişim durumu olmalıdır (status == QRCodeWatcherAccessStatus::Allowed).

    Erişim reddedilirse, özelliğini başlattığınızda QRTrackingözellik erişim reddedildi değerini döndürür.

    Nesneyi oluşturmadan QRCodeWatcher önce bu API çağrılmalıdır.

    Projeyi Unity'den çalıştırıyorsanız, ui iş parçacığından çağırdığınızdan da emin olmanız gerekir. Aksi takdirde API her zaman reddedildi döndürür. Daha fazla bilgi için Unity El Kitabı'ndaki AppCallbacks sınıfına bakın.

    Unity için projenizi ayarlama hakkında daha fazla bilgi için bkz. Unity'yi Windows Mixed Reality için yapılandırma.

    QR Kodu İzleme Özelliğinin HoloLens 2 cihazlarda çalışmasını Nasıl yaparım??

    QR izleme, HoloLens 2 otomatik olarak gerçekleştirilir ve uygulamanıza "web kamerası" özelliğinin eklenmesi gerekir.

    API eklenti dosyalarını nerede bulabilirim?

    Tüm gerekli dosyalar ve belgeler burada bulunabilir.

    https://www.nuget.org/packages/Microsoft.MixedReality.QR

    Microsoft.MixedReality.QR.QRCodeWatcher kullanmak için bir UWP hazırlamak Nasıl yaparım??

    • Gerekli dosyaları açmak için NuGet paketini kullanın.

    • Projenizde öğesine Microsoft.MixedReality.QR.winmd bir başvuru ekleyin ve API'yi kullanmaya başlayın.

    • Eklentilerin doğru mimari sürümlerini ekleyin ve derlemede uygun şekilde kullanın.

    Unity'yi Microsoft.MixedReality.QR.QRCodeWatcher ile hazırlamak Nasıl yaparım??

    Unity için NuGet'i kullanın ve yukarıdaki NuGet paketine işaret edin.

    QR kodlarını nasıl oluşturabilirim?

    Herhangi bir QR kodu oluşturucuya göz atın. İşte bir örnek.

    QR kodu izleme genel olarak işe yaramazsa ne yapmalıyım?

    • QR Code sürümü desteklenen bir sürüm mü? Sürüm 40 gibi yüksek yoğunluklu sürümleri desteklemiyoruz. Sürüm 10'un üzerinde hiçbir şey garanti değildir; 20'nin üzerindeki sürümler desteklenmez.
    • QR koduna yeterince yakın mısınız? QR kodundan uzaklığı ve açısal konumu görün.
    • Işıklandırma nasıl? QR kodu koyu çevre arka planında olduğunda algılamanın zorlaştığı bilinen bir sorun vardır. Qr kodu yüksek karşıtlık nedeniyle kameraya yıkanmış olarak görünür. Daha fazla bilgi için bkz . aydınlatma ve arka plan.

    Doğruluk nedir?

    Tek bir çerçevede algılandığında, boyutun gerçek boyuttan en fazla %1 hataya sahip olması beklenir. Örneğin, ölçülen boyutta 10 cm'lik kod +/- 1 mm'ye kadar kapalı olabilir. Sürekli algılama altında, bir kodun konumu +/- 2,5 mm'ye kadar kayabilir. Algılama aralığının dışına taşındıktan sonra, önceki bir algılamanın konumu harita hatasının merhametine bağlı olur.

    QR kodunu algılamak için qr koduna ne kadar yaklaşmam gerekir?

    Uzaklık açıkça QR kodunun boyutuna ve hangi sürüme bağlı olduğuna bağlıdır. Daha fazla bilgi için QR kodundan uzaklık ve açısal konum konularını inceleyin.

    • HoloLens 2 5 cm yan ile 25 cm arası değişen sürüm 1 QR kodu için minimum algılama mesafesi 0,25 metre ile 0,5 metre arasında değişmektedir. Bunların tespit edilebileceği en uzak yer, en küçük kod için yaklaşık 0,5 m'den büyük için iki metreye kadar uzanıyor.
    • Windows Mixed Reality boyutları için bu mesafeler yarıya indirilir.
    • Daha büyük kodlar için, tahmin--boyut algılama uzaklığı doğrusal olarak artar. Daha küçük kodlar için algılama gerçekleşmez; algılayabileceğiniz en küçük boyut 4-5 cm'dir.

    Logolu QR kodlarını neden okuyamıyorum?

    Şu anda logolu QR kodlarını desteklemiyoruz.

    QR kodları algılandı, neden veri amıyorum?

    • Platform QR kodunun kodunu çözemezse veri olmaz. Akışı kullanabilir ve açık kaynak kodu kullanarak verileri yorumlayabilirsiniz.
    • Yapı ekleme gibi bazı özellikler desteklenmez.

    Daha fazla bilgi için hangi QR kodu sürümlerinin desteklendiğine bakın.

    QR kodları 'alan' düzeyinde mi yoksa uygulama düzeyinde mi kaydedilir?

    QR kodları, sürücü oturumunda veya HoloLens'teki önyükleme oturumunda sistem düzeyinde kaydedilir. Daha fazla bilgi için bkz. QR kodu verilerini yönetme.

    Bu, temel alınan platformda nasıl çalışır? Nerede kalıcı oluyorlar?

    Algılanan QR kodları sürücü tarafından bellekte kalıcı hale gelir.

    "Microsoft.MixedReality.QR.pdbBulunamadı" hata iletisini alırsam Visual Studio'da uygulamada hata ayıklaması Nasıl yaparım??

    simge yüklemesi Microsoft.MixedReality.QR.dll , dahil edilen modüller listesinde belirtilmediğinden atlandı.

    Yeniden oluşturmak için

    Bu davranışı yeniden oluşturmak için adımları izleyin:

    1. Microsoft.MixedReality.QR (NuGet) ve MRTK yükleme
    2. Hata ayıklamayı deneyin

    Microsoft.MixedReality.QR.dll ile uygulamada hata ayıklayabilmeniz gerekir, ancak DLL bulunamadı:

    Microsoft.MixedReality.QR.pdb bulunamadı hata iletisi

    Sonraki sürüme sembol ekleme üzerinde çalışıyoruz. Bu arada, Visual Studio seçeneklerindeki DLL'yi dışlayarak uygulamanızda hata ayıklamayı yine de yapabilmeniz gerekir:

    Visual Studio seçeneklerinde DLL'yi dışlama

    Daha fazla bilgi için bkz . Visual Studio ayarlarını yapılandırma.

    Oturumda kaç QR kodunun taranabileceğinin sınırı var mı?

    Sürücüde sistem düzeyinde 10 dakika içinde kaydedilen 100 QR kodu sınırı vardır.

    QR kodu düzeltme işlemi değişti mi?

    QR kodu düzeltme işlemi 20H2'den sonra, poz düzeltmeden boyut düzeltmeye kadar değişti. Davranışı önceki düzeltme işlemine geri döndürmek için, yeni QR kodu poz verileri 5 saniye içinde veya daha önce algılanan çerçevenin 10 cm'sinde algılanırsa bir düzeltme algoritması uygulanır. Dönüştürme verileri, önceki karenin %10'unu içeren geçerli çerçevenin %90'ının ağırlıklı oranıyla karıştırılır.

    Ayrıca bkz.