İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp

C# Alturos.Yolo Object Detection – C# Nesne Tanımlama

Merhaba, C# Alturos.Yolo Object Detection - C# Nesne Tanımlama yazım ile C# eğitim setime devam ediyorum.

C# Alturos.Yolo Object Detection – C# Nesne Tanımlama
+ - 4

Merhaba, C# Alturos.Yolo Object Detection – C# Nesne Tanımlama yazım ile C# eğitim setime devam ediyorum. Bu dersimizde Alturos.Yolo kullanarak resimlerde nesne tanımlama işlemine bakacağız. Alturos.Yolo DLL’lerini nuget ile indirip kullanacağız.

C# Alturos.Yolo Object Detection – C# Nesne Tanımlama

Resimlerdeki nesneleri tanımla konusu bazı durumlarda bize lazım olabilir. Bu sebeple bu dersi yazma gereği duydum.

NOT: Projeniz 64 bit olmalıdır. X86 ya da Anycpu ile çalışmaz.

İlk olarak projemize 1 picturebox, 1 datagridview ve iki button ekliyoruz. Form tasarımım aşağıdaki gibidir.

C# Alturos.Yolo Object Detection - C# Nesne Tanımlama

Şimdi Solution Explorer’e gelin ve projeniz üzerinde sağ tık yaparak Manage Nuget Package’ı tıklayın. Açılan ekranda Browse diyin ve

C# Alturos.Yolo Object Detection 2

Sarı tick işareti ile işaretlenmiş olan paketleri kurun. Bende kurulu olduğundan sağ tarafta uninstall yazıyor. Sizde install yazacak.

Kurulum tamamlandığında size bir ReadMe ekranı açacak o ekranı kapatmayın. Oradaki kodları kullanacağız.

Kodları yazmaya başlamadan önce datagridview’e tıklayın ve sağ üst köşesinde çıkan oka tıklayın.

C# Alturos.Yolo Object Detection 1

Choose Data Source kısmına gelelim ve bir datasource seçelim.

datagridview choose data source

Add Project Data Source diyelim ve açılan ekranda Object’e tıklayalım.

datagridview choose data source object

Object’i seçtikten sonra next diyelim.

datagridview choose data source object alturos yolo

Alturos.Yolo kısmından sarı ile işaretlenmiş olan YoloItem’i seçelim. Finish dedikten sonra datagridview’e kolon başlıkları gelecektir.

Şimdi Foto Seç button nesnesinin click eventine gelelim ve kodlarımızı yazalım.

        private void btn_foto_sec_Click(object sender, EventArgs e)
        {
            OpenFileDialog op = new OpenFileDialog();
            if (op.ShowDialog() == DialogResult.OK)
            {
                pictureBox1.Image = Image.FromFile(op.FileName);
            }
        }

OpenFileDialog kullanarak resim seçeceğiz.

Şimdi de Çöz button nesnesinin click eventine gelelim ve kodlarımızı yazalım.

        private void btn_coz_Click(object sender, EventArgs e)
        {
            var configurationDetector = new ConfigurationDetector();
            var config = configurationDetector.Detect();
            using (var yoloWrapper = new YoloWrapper(config))
            {
                using (MemoryStream ms = new MemoryStream())
                {
                    pictureBox1.Image.Save(ms, ImageFormat.Png);
                    var items = yoloWrapper.Detect(ms.ToArray());
                    yoloItemBindingSource.DataSource = items;
                }
            }
        }

Burada, PictureBox’a yüklediğimiz resmi MemoryStream ile YoloWrapper’a gönderiyoruz. Böylece resmi tarayabilecek.

kodlarımız bu kadar şimdi bir kaç deneme yapalım.

C# alturos. yolo

Gördüğünüz gibi, datagridview’e otomatik olarak 3 kayıt geliyor.

Datagridview’i inceleyelim.

Burada, resimde 3 nesne bulunmuş. Bulunan nesnelerin tipleri car yani araçmış. Confidence terimi güven anlamına gelir. Burada doğruluk payı olarak kullanılıyor.

  • İlk bulunan obje %91 oranında bir araç
  • İkincisi %82 oranında bir araç
  • Üçüncüsü %62 oranında bir araç

C# alturos. yolo 2

Bu resimde bir insan ve tekne buluyor ama resimde tekne göremiyoruz. bu şekilde bazı sıkıntıları da olabiliyor. Görselde bir yerde bir noktayı tekne olarak algılıyor.

 


C# Alturos.Yolo Object Detection – C# Nesne Tanımlama yazımda bu kadar arkadaşlar.

Bana destek olmak isterseniz, iletişim sayfamda verdiğim sosyal medya hesaplarımı takip edebilirsiniz.

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız. Derslerime özel olarak hazırladığım Github Projeme bu bağlantıdan ulaşabilirsiniz…  Bu projeyi paylaşmak isterdim ama indirdiğimiz DLL’lerin boyutları yüksek olduğundan paylaşamadım. Toplam 350 MB oluyor projenin toplam boyutu..

Bu yazı, sitemdeki 436. yazıdır…

Sağlıcakla ve takipte kalın. ;)

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)

Yorumlar (4)

  1. 3 sene önce

    Merhaba bu projeyi yapmaya çalışıyorum.
    Ancak alturos yolo ve Alturos.YoloV2TinyVocData kütüphaneleri aratınca bende çıkmıyor.
    Visual studio 19 kullanıyorum.
    Bu sorunu nasıl çözebilirim.

  2. Mustafa bey nugette sizin gösterdikleriniz çıkmıyor. Ben yoloyu c# da çalıştıramadım. Kaynak kodları paylaşmanın bir yolu var mı. Teşekkür ediyorum

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.