Görüntü İşleme (C#) - Uygulama

Eylül 4, 2009 21:35 tarihinde farukterzioglu tarafndan eklenmistir.

gi Daha önce burada ve burada anlatılan c# ile görüntü işlemeyi ufak bir uygulama üzerinde anlatmak istedim. Daha önce kod yapısından ve bazı temel işlemlerden bahsetmiştim. Şimdi bu işlemleri uygulayabilmek için basitçe; yeni resmin alınabildiği, seçilen işlemin uygulanıp yeni resmin kaydedilebildiği, bir adımlık geri alma özeliğininb bulunduğu ufak bir çalışma görüntü işlemeye giriş açısından yararlı olur diye düşündüm. Yapılan uygulamanın arayüzü ;

Proje içerisinde de kod bloklarına bazı açıklamalar eklediğim uygulamayı buradan (Görüntü İşler.rar (43,74 kb) indirebilirsiniz.

Uygulamadan bahsedersek, resim al düğmesi ile resim seçildikten sonra combobox tan bir işlem seçip işle düğmesine basarak yeni resim elde edilir ve resim kutusuna yansıtılır. Kodları açıklarsak ;

        private void button2_Click(object sender, EventArgs e)
        {
            if (Resim != null)
            {
                tut = yeniResim;
                switch (comboBox1.SelectedIndex)
                {
                    case 0:
                        {
                            if (checkBox1.Checked)
                            {
                                İşlem.siyafbeyaz(yeniResim);
                            }
                            else
                            {
                                yeniResim = İşlem.siyafbeyaz((Bitmap)Resim.Clone());                               
                            }
                           
                            break;
                        }
                    case 1:
                        {
                            if (checkBox1.Checked)
                            {
                                İşlem.tersi(yeniResim);
                            }
                            else
                            {
                                yeniResim = İşlem.tersi((Bitmap)Resim.Clone());
                            }
                            break;
                        }
                }

                pictureBox2.Image = yeniResim;
            }
        }

     Yukarıda kod bloğunda, ilk olarak bir resim seçilmişmi kontrol edilir. Daha sonra, geri alma fonksiyonu ile işlenecek resim tutulur. switch-case yapısı ile seçilen işlem kontrol edilip, işlemin asıl resimemi yoksa işlenmiş resimemi uygulanacağı kontrol edilir. "İşlem.siyafbeyaz(yeniResim);" şeklinde bir kullanım ile parametre olarak gönderilen resimim asılı değiştirilir.  Eğer asıl resimde değişiklik yapmak istemezsek, "İşlem.siyafbeyaz((Bitmap)Resim.Clone());" şeklinde resimin kopyasını göndermeliyiz.

     Uygulanacak işlemlerin kodları "İşlem.cs" isimli bir sınıfta tutuluyor. Bu sınıf içindeki kodların yapısını daha önce anlatmıştım. Bu uygulamada şimdilik 'siyah-beyaz' ve 'tersi' işlemleri var.

     Giriş niteliği taşıdığından uygulamayı basit tutmaya çalıştım. Eğer takıldığınız veya daha fazla açıklanmasını istediğiniz noktalar olursa yorumlarınızı beklerim.

(Sıradaki konu : "C# ile video işleme")