Ana içeriğe atla

C# Görüntü İşleme

Herkese merhabalar,


Bu yazı dizimizde görüntü işlemeden bahsedeceğiz. Şunu belirtmek isterim ki bende yeni merak saldım bu alana ve buradan yaptığım işten çok yararlandığım kaynaklardan ve internetten nasıl kaynak bulduğum konusuna değineceğim. Sizinde bildiğiniz üzere internetten bir çok yazılmış makale bulunmakta, Aforge ‘ya henüz kulak aşınalığınız yoksa araştırmaya yeni başladığınız kanısına varıyorum. Ben bir şeye başlamadan önce her zaman doğru soruları bulmaya çalışırım ve sürekli soru sorma stilimi değiştirerek bilgiye ulaşmaya çalışırım. Şimdi bu konu hakkında kabataslak bir fikir oluşturmak için sorularımızı oluşturmamız ve cevaplarını aramamız gerekiyor.


1- Görüntü işleme nedir?

2- Resimlerde veya görüntülerde pixsel değerlerini nasıl okurum?

3- Webcam ‘de gerçek zamanlı olarak belirlediğim renkleri nasıl bulurum?(c# color tracking)

4- Yüz, nesne tanıma algoritmaları nasıl oluşturulur?

5- C# ‘ta görüntü işleme üzerine oluşturulmuş örnekler nelerdir?

6- Bu beş sorudan öğrendiklerimle ne yapmak istiyorum?


1.Görüntü işleme konusunda http://mehmetsalihdeveci.net/category/goruntu-isleme/ bu kaynağı tavsiye edebilirim ve kısmen google içerisindeki diğer sayfalarıda bakmanızı şiddetle tavsiye ediyorum. Ufkunuzu genişletecek bir çok yazı okuyabilirsiniz. Mesela http://yzgrafik.ege.edu.tr/~tekrei/dosyalar/sunum/gi.pdf

1.soruyu araştırken bulmuş olduğum bir video ilginizi çekebilir.



2. sorumuzun kısa cevabı c#’da Bitmap ve Color nesnesinden geçiyor. Kısaca şöyle bir örnek verebiliriz.


Bitmap resim = new Bitmap(pictureBox1.Image);

Ve hemen akabinde SetPixel ve Getpixel paremetrelerini kullanacağız.


3.sorumuz ile ilgili youtube da bir çok video, forum sitelerinde de yapımı ile ilgili bilgi mevcut. Ben bu işi yapmak için aforge kullanmayı düşünüyorum çünkü en basit o gibi görünüyor. Aforgenet için http://www.aforgenet.com/ bu sayfada birkaç saat geçirmeniz gerekiyor. İngilizce bilmemeniz durumunda ise size önerebileceğim en iyi kaynak google translate J Opencv ile ilgili de birkaç yer gördüm fakat o bana biraz fazla karışık geldi.


Diğer soruları şimdilik rafa kaldırmak zorundayım zira onlar biraz daha sıkıntılı işlemler özelliklede 4.soru şimdi adım adım ilerleyebilmek için öğrendiklerimizle birkaç örnek yapalım.

Yorumlar

Adsız dedi ki…
hocam iyi günler c# ile iki görüntü arasında dört işlem nasıl yapılır acil yardım gerekli
Adsız dedi ki…
brkn.aydin@gmail.com adresine konuyu daha detaylı anlatırsan, yardımcı olmaya çalışırım.

Bu blogdaki popüler yayınlar

C# Görüntü işleme

İlk Olarak Burayı Okumalısınız Öncelikle görüntü işleme üzerine olan kodları birebir hepsini ben yazmadım bunun için google da “c# color tracking” diye bir arama gerçekleştirdim ve referans olarak http://www.uguryalcin.de/c/372 adresini belirledim. Konuya geçecek olursak, ilk önce birkaç kütüphane dosyasına ihtiyacınız olacak. örnek projede kütüphaneler mevcut bunlar kendinizi daha da ileri götürmek için. aforge kütüphanesini indirmek isteyebilirsiniz. Ekran görüntüsü. Ben aslına bakarsanız kod anlatma konusunda pek iyi değilim. Örnek projeyi indirin. Kodları silin aralarına bir şeyler eklemeye çalışın ve öğrenin. Şimdi yeni bir soru ile daha karşılaşıyoruz. Aynı anda birkaç görüntü almak istersek ne yapmalıyız. Aslında onunda cevabı basit ama biraz da sizin araştırma yapıp kendi blogunuzda yayınlamanız için onu size bırakıyorum. Yayınlamış olduğunuz yazıyı yorumlardan paylaşırsanız çok mutlu olurum. Sağlıcakla kalın :) using System; using System.Collections.G...

C# pixel, görüntü işleme

İlk olarak Görüntü İşleme ile ilgili olan yazıyı okumanızı tavsiye edilir. http://yzgrafik.ege.edu.tr/~tekrei/dosyalar/sunum/gi.pdf bu dökümanın 25.sayfasındaki formülü kullanarak siyah beyaz bir resim yapalım dedim. Ekran görüntüsü aşağıdaki gibi oldu. Kaynak kodda şu şekilde ya da c# Pixel İşleme using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace pixelIsleme { public partial class Form1 : Form { public Form1() { InitializeComponent(); } Bitmap PixelTara( Bitmap Goruntu) { Bitmap yeniGoruntu = new Bitmap (Goruntu.Width, Goruntu.Height); //Bitmap sınıfımızı oluşturduk. for ( int i = 0; i < Goruntu.Width; i++) //resmi yatay olarak taramak için { for ( int j...