OpenCv ve Python'a dayalı parmak tanıma ve izleme

Lei Feng net notu: Bu makale, AI Araştırma Enstitüsü tarafından derlenen, OpenCV ve Python kullanarak orijinal Parmak Algılama ve İzleme başlıklı teknik bir blogdur ve yazarı Jason Brownlee'dir.

Tercüme | Yuhang Lamaric redaksiyon | Wu Xiaoman incelemesi | Yuhang

Ayrıntılı kod referansı: https://github.com/amarlearning/opencv

Parmak takibi, birçok bilgisayarla görme uygulamasının önemli bir özelliğidir. Bu uygulamada eli arka plan çerçevesinden ayırmak için histogram tabanlı bir yöntem kullanılır. En iyi sonuçlar için arka planı kaldırmak üzere eşik işleme ve filtreleme tekniklerini kullanın.

Parmak tanımada karşılaştığım zorluklardan biri, eli arka plandan ayırt etmek ve parmağın ucunu tanımaktı. Bu projede kullandığım parmak izleme tekniğimi size göstereceğim. Parmak tanıma ve izlemenin gerçek işleyişini görmek istiyorsanız, lütfen yüklediğim videoyu izleyin.

Kullanıcının elinin hareketini takip etmek isteyen uygulamalarda, cilt tonu Kullanıcının elinin hareketini takip etmek isteyen uygulamalarda cilt tonu histogramı oldukça faydalı olacaktır. Görüntünün yalnızca ten tonlarını içeren kısmını bırakarak görüntüden arka planı kaldırmak için histogram kullanın.

Dış görünümü algılamanın daha kolay bir yolu, belirli bir RGB veya HSV aralığındaki pikselleri bulmaktır. Bu yöntem hakkında daha fazla bilgi edinmek istiyorsanız, lütfen buraya tıklayın (https://docs.opencv.org/3.4.2/df/d9d/tutorial_py_colorspaces.html).

Yukarıdaki yöntemle ilgili sorun, ışık koşullarının ve ten renginin değiştirilmesinin cilt testi sonuçlarını çok kötü hale getirebilmesidir. Öte yandan, histogram genellikle daha doğrudur ve histogram mevcut aydınlatma koşullarını hesaba katabilir.

Çerçeveye yeşil bir dikdörtgen çizin ve kullanıcı elini dikdörtgenin içine yerleştirir. Uygulama, kullanıcının avucunun cilt tonunu çıkarır ve ardından bunu bir histograma çizer.

Dikdörtgen çizme işlemi aşağıdaki işlevi izler:

İşlem çok basit - her dikdörtgenin koordinatlarını temsil etmek için dört satır kod oluşturdum.

hand_rect_one_x

hand_rect_one_y

hand_rect_two_x

hand_rect_two_y

Bu dört kod satırı, çerçevede kullanılmak üzere sürekli olarak yinelenir: cv2.rectangle, bir dikdörtgen oluşturmak için çizer; burada total_rectangle, satır ve sütun 9'un uzunluğunu temsil eder.

Artık kullanıcılar avuçlarını nereye yerleştireceklerini anladıklarına göre, başarı için bir sonraki temel adım, bu dikdörtgenlerden pikselleri çıkarmak ve ardından piksellere dayalı olarak HSV histogramları oluşturmaktır.

İşlev, giriş çerçevesini bir HSV histogramına dönüştürür. Bir görüntü oluşturmak için Numpy kitaplığını kullanın. Görüntü boyutu 3 ve renk kanalı sayısı 3'tür. Biz buna ROI (İlgi Bölgesi) adını verdik, yeşil dikdörtgenden 900 piksel değeri çıkarır ve ardından bunları ROI matrisine yerleştirir. cv2.calcHist, ROI matrisine dayalı olarak cilt rengi için bir histogram oluşturur ve cv2.normalize, cv2.NORM_MINMAX matrisini normalleştirmek için norm türünü kullanır. Artık çerçevedeki cilt alanını tespit etmek için histogramı kullanabiliriz.

Artık kullanıcılar avuçlarını nereye yerleştireceklerini anladıklarına göre, bir sonraki adım bu dikdörtgenlerden pikselleri çıkarmak ve bunları HSV histogramları oluşturmak için kullanmaktır.

Şimdi, cilt rengi histogramına dayanarak, dış görünümü içeren çerçeve alanını bulabiliriz.OpenCV, görüntüdeki özellikleri ayırmak için histogramı kullanan cv2.calvBackProject adlı uygun bir yöntem sağlar. Bu işlevi, cilt tonu histogramını çerçeveye uygulamak için kullanıyorum. Arka proje hakkında daha fazla bilgi almak isterseniz, 1. bağlantıyı (https://docs.opencv.org/master/dc/df6/tutorial_py_histogram_backprojection.html) ve 2. bağlantıyı (https://docs.opencv.org) kullanabilirsiniz. /2.4/doc/tutorials/imgproc/histograms/back_projection/back_projection.html) elde etmek için.

...

Okumaya devam etmek istiyorsanız, lütfen AI Araştırma Topluluğu topluluğumuza gidin: https://club.leiphone.com/page/TextTranslation/775

AI Araştırma Enstitüsü'nde daha heyecan verici içerikler mevcuttur.

Farklı alanlar arasında bilgisayar görüşü, konuşma semantiği, blok zinciri, otonom sürüş, veri madenciliği, akıllı kontrol, programlama dilleri ve diğer günlük güncellemeler bulunur.

Leifeng.com Leifeng.com (Genel Hesap: Leifeng.com)

Ön ve arka çift kamera tam ekran: Huawei Maimang 6 gerçek makine resmi beğenisi
önceki
Önde gelen ev aletlerinden lider akıllı teknolojiye "konfor bölgesi" nin dışına çıkan Endüstri TCL
Sonraki
Hershel Supply Co. aniden soda almaya mı başladı? Değişikliklere çok hızlı ayak uyduramıyoruz!
100.000 milyon metrekare büyük gaz sahası! Bohai Denizi'nde doğal gaz aramalarında önemli atılım
Lu Yang'ın yeni çalışması "Romancıların Suikastı" konsept posteri Lei Jiayin, Yang Mi, Dong Zijian, "iki dünya" fantastik macera
Op Lighting'in Pazarlama Direktörü Jin Xin: Nesnelerin İnterneti çağında, istihbarat aydınlatmayı gördüğünüzün ötesinde yapar
Alfa Romeo Nisan ayında Çin'e girdi ve ilk kez iki modeli piyasaya sürdü
Bu bir PS süreci değil! Yepyeni Nike Air More Uptempo önümüzdeki ay görücüye çıkacak!
"Flying Life", "Aktrisin Doğuşu" özel Han Han'ın Shen Teng'in "küçük bağımlılığını" içtenlikle çektiğini ortaya koyuyor.
Dongfeng Honda UR-V önizleme görüntüsü Mart ayında listelenebilir
Ev sineması yüklü X artefakt Q5plus bunu hak ediyorsunuz!
Bu sefer 6 amca gerçekten aklını kaçırdı! MADNESS'in üçüncü yıl dönümü T baskısının ne anlama geldiğini biliyor musunuz? ?
2017 Cenevre Otomobil Fuarı'ndaki bu yeni otomobil serisini kim beklemiyor?
Gerçekten sınırsız! Popüler tam ekran cep telefonu önerisi
To Top