Araç kaydedicide şerit çizgisini bulmak için OpenCV'yi kullanın

Lei Feng Net Not: Bu makale AI Araştırma Enstitüsü tarafından derlenen teknik bir blogdur, orijinal başlık OpenCV ile canlı Finding Driving Lane Line'dır ve yazar Percy Jaiswal'dır.

Tercüme | Chen Yang Wang Fei Redaksiyon | Yuhang Bitirme | MY

Herkese merhaba! Bu projede araç kayıt cihazının videosundan şerit çizgisini bulmaya çalışacağım. Şerit çizgilerini tespit ettiğimizde, bunları orijinal video karesinde işaretleyip oynatacağız. Tüm işler, OpenCV tarafından sağlanan işlevler kullanılarak çevrimiçi olarak yapılacak ve herhangi bir gecikme olmayacak.

Burada şerit çizgilerini tespit etmek için bir dizi işlevi düzenleyeceğiz. Bu işlevi yazarken örnek bir görüntü kullanacağız.Bazı örnek görüntülere dayalı olarak şerit çizgilerini başarılı bir şekilde algıladığımızda, tüm programı gerçek zamanlı görüntüleri alabilen bir işleve ekleyeceğiz. Ve aynı görüntüyü şerit işaretleriyle geri getirin. Hemen öğrenmeye başlayalım.

İlk önce örnek resim çerçevesini girin. Bu satır, görüntünün kareler elde etmek için video tarafından yakalanacağı son kodda yorumlanacaktır.

örnek grafik

İşlemcimiz (gömülü sistemlerde çok az bulunan bir kaynak olan) üzerindeki yükü azaltmak için, tüm görüntü işlemeyi görüntünün orijinal renkli versiyonu yerine Gri Tonlamalı versiyonunda gerçekleştireceğiz, bu da daha az kullanmamıza yardımcı olacaktır. Kaynaklar programları daha hızlı yürütür. Aşağıdaki işlev, renkli bir görüntüyü gri tonlamalı bir sürüme dönüştürür.

Gri tonlamalı görüntü

Daha sonra, görüntüdeki gürültüyü bulanıklaştırarak ortadan kaldıracağız ve görüntüyü düşük geçişli filtre çekirdeği ile sararak görüntü bulanıklığını elde edeceğiz. Gürültünün ortadan kaldırılmasına yardımcı olur ve aslında yüksek frekanslı içeriği (gürültü, kenarlar gibi) görüntüden kaldırır, bu nedenle bu işlemde kenarlar biraz bulanık olacaktır. OpenCV 4 farklı türde bulanıklık teknolojisi sağlar, Gauss bulanıklığı en popüler olanıdır.

Görüntü bulanıklığı (görüntü yumuşatma)

Farklı çekirdek boyutlarını seçebiliriz, burada sonuç filtresi basitçe çekirdeğin ortalama piksel değerini (çekirdek boyutu matrisi satır x sütunu) alır ve merkez elemanı ortalama değerle değiştirir. Ve 5 standart bir değer, bu yüzden 5'i seçtim.

Kenar algılama

canny edge algılama, kenar algılama için ortak bir algoritmadır. Aslında, canny edge işlevi, önceki adımlarımızla aynı olan 5x5 çekirdek boyutuna sahip bir Gauss filtresi de uygular, ancak karşılaştığım birçok belgede, keskin kenar algılamasından önce görüntüyü bulanıklaştırmanız önerilir. . Kenar algılamanın arkasındaki temel teori, bir kenar nerede olursa olsun, kenarın her iki tarafındaki piksellerin yoğunlukta büyük bir farka sahip olmasıdır (gradyan olarak da adlandırılır). İlk olarak, her pikselin gradyanını bulmak için giriş görüntüsünü yatay ve dikey yönlerde tarayın. Gradyan büyüklüğünü ve yönünü elde ettikten sonra, kenar oluşturmayabilecek istenmeyen pikselleri kaldırmak için görüntünün tam bir taramasını tamamlayın. Bu amaçla, her pikselde pikselin kendi çevresinde yerel bir maksimum olup olmadığı kontrol edilir.

low_threshold ve high_threshold, saptanması gereken kenarın gücünü belirler. Gradyan high_threshold'dan daha yüksekse, bu gradyan kenarın bir parçası olarak kabul edilir, ancak bir kenar algılandığında, gradyan low_threshold'dan daha yüksek olsa bile, sonraki piksel bir kenar olarak kabul edilecektir.

Örnek resmimize bakarsak, kenar koşulları altında, özellikle şerit çizgisi beyaz ve komşu şerit pikselleri siyah olduğunda, komşu pikseller arasında büyük farkların olduğu açıktır.

İlgi bölgesi

Dikkate alınması gereken bir nokta, görüntüdeki tüm kenarları bulmak istemediğimizdir. Yalnızca görüntünün merkez alanındaki şerit çizgilerini bulmakla ilgileniyoruz. Sezgisel olarak bu mümkündür, şerit çizgisinin görüntünün üst sol / sağ üst kısmında olması imkansızdır. Örnek görselimize baktığımızda, şerit çizgisinin görüntünün alt kenarında daha geniş trapez bölgede olması gerektiğini rahatlıkla söyleyebiliriz. Kenarlar giderek daraldıkça görüntünün tepesine doğru ilerliyoruz.

...

Okumaya devam etmek için lütfen AI Araştırma Topluluğu topluluğumuza gidin: https://club.leiphone.com/page/TextTranslation/847

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 (Resmi Hesap: Leifeng.com) (Resmi Hesap: Leifeng.com)

inanılmaz! Mobil web sitesi hız testi aracı çok harika
önceki
Ağustos-Eylül aylarında listelenen önerilen cep telefonları, bu 5 sihirli makineyi neredeyse özledim
Sonraki
"Saat 21: 00'de Araç Seçimi" nin gözden geçirilmesi Yeni GAC GS8 güvenilir midir?
Vücudunuza ayakkabı "giymek" nasıl bir duygu? ! UNDEFEATED, size cevabı vermek için Nike Dunk Low JP sınırlı seri Tişörtü piyasaya sürüyor!
Yıl boyu boks yapan keşiş Dharma'nın en güzel keşişi
Sony yeni telefonlar üretmeye devam ediyor, ancak bu sefer biraz zorlu: her seferinde dört
"Fighting Nation Cultivation" bugün yayınlandı, Rusya turu ateş gücüyle dolu, dört önemli olay yıl sonuna kadar en sağlam rehberi ortaya koyuyor
Görmek gerekir! YouTube analiz aracı-Tubebuddy
China H3, yeni sedan / 1.5T güçle Mart ayında piyasaya sürülecek
Ateş gücü ateş etmeye devam ediyor! Herschel Supply Co.'nun ikinci giyim koleksiyonu artık çevrimiçi
Bu haftanın 2019AWE'si farklı bir akıllı hayatı yeniden yorumlayacak
Doğru ve yanlış, yanlış ve yanlış, doğru ve doğru
"Denizde Yüzen Şehir" sıradan insanlara odaklanıyor ve izleyicinin gözyaşlarını uyandırıyor
Dış ticaret sitenizi hızlandırmak için hız ölçüm araçları nasıl kullanılır?
To Top