2014-06-10 20 views
8

QR detektör kodu üzerinde çalışıyorum ve bir görüntüdeki Bulguları (FP) bulmam gerekiyor. Ne kadar QR kodları köşelerinde bulmak kareler benzeyen bir ikili şablon oluşturduk:Görüntüdeki QR kodu kalıbı nasıl algılanır?

FP = ones(9); 
FP(2:8,2:8)=0; 
FP(3:7,3:7)=1; 
FP(4:6,4:6)=0; 
figure;imshow(FP) 

Ve xcorr2 kullanarak bu şablonla maksimum korelasyon ile görüntüdeki noktaları arayan çalıştılar. Sorunum açık: Şablonum, resimlerdeki QR kodlarının gerçek boyutlarına göre çok küçük.

yeniden boyutlandırmak zorunda kalmadan bir kalıp/maske arayan bir yolu var mı? Bu probleme başka bir yaklaşım var mı? Örnek olarak

, burada xcorr2 kullanmak Sen gerekmez QR kodu

enter image description here

+0

sen yanı QR kodu ile görüntünün bir örneğini lütfen gönderir misiniz? Uyguladığınız gerçek görüntü maske. – kkuilla

+0

tamamlandı! Mesajımı düzenledim ve bir test resmi yükledim –

+2

Yardımcı olabilecek bazı anahtar kelimeler: "ölçek değişmez şablon eşleştirmesi" – nkjt

cevap

9

ile bir görüntü var. Tarama çizgileri kullanarak 1d'de 1: 1: 3: 1: 1 (koyu-açık-koyu-açık-koyu genişlik) desen aramalısınız.

the standard sayfa 60 üzerinde bir referans algılama algoritmasının bir açıklama yoktur.

Ayrıca ZXing QR kodu tespit/tanıma uygulayan bir açık kaynak kütüphanedir. Referans için kodlarını gözden geçirebilirsiniz.

Düzenleme: Her bir tarama çizgisinde, sonraki koyu ve sonraki ışık piksellerini sayın. Dizi uzunluklarını temsil eden tam sayıların bir listesini alacaksınız.

Ardından en büyük karanlık alt dizeden başlayın ve yanlarına bakın. Eğer karanlık ardışıklık uzunluğu 300 ise, o zaman onun bitişik ışık alt dizileri 50-150 uzunluğunda olmalı ve bitişik karanlık alt dizileri de 50-150 uzunluğunda olmalıdır (bu standartta önerilen 0.5 toleranstan kaynaklanır.) . Eğer böyle bir diziyi bulursanız

Yani, Sonra kendisinden bir sonraki büyük koyu altdiziyi denemek ve büyüklüğü 300 ile işaretleyin.

Yukarıdaki yöntem 3 işaretli köşeleri bulmak için kullanılmalıdır açıklamak.

+0

Tamam Bunu deneyeceğim ama yüklediğim gibi bir görüntü ile çalışıyorsam ne olur? Bu durumda, sırayla daha fazla piksel olduğu için, o deseni (piksel tabanlı olduğunu varsayarsak) arayamıyorum, değil mi? –

+0

Modelinizi veya referans resminizi ölçeklendirmeniz gerektiğini düşünüyorum. Fakat bunu 2d yerine 1d'de yaptığınız için çok daha hızlı olacak. –

+0

Ayrıca eklediğim düzenlemeye bakın. –