İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp
  3. C# Alturos.Yolo Object Detection – C# Nesne Tanımlama

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

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. 😉

Yorum Yap

Yazar Hakkında

Liseden, Ağ Sistemleri ve Yönetimi bölümünden mezun oldum. Üniversiteden (2 yıllık), Bilgisayar Programcılığı bölümünden mezun oldum. Şuanda da AÖF, Yönetim Bilişim Sistemleri bölümünde okumaktayım. Uzmanlık alanlarım; Windows Sistemleri, HTML, CSS, C# ve SQL’dir. Hobi olarak uğraştığım genel konular, Photoshop, After Affects, Corel Draw’dır.Film, YABANCI dizi, Anime izlemeyi ve Manga okumayı severim. Arkadaşlarımla yürüyüş yapmayı ve grup olarak aktivitelere gitmeyi severim. Geri kalan zamanlarımın tümü bilgisayar karşısında geçer.

Yorum Yap