Volkan Atasever

mühendislik, edebiyat, retro computer, yazılım, şiir, nümismatik, bilişim, podcast ve daha bir çok yazılarım...

Matematik, Yazılım ve Özel Alanlar

clock Aralık 28, 2014 12:00 by author Volkan Atasever



Mobil Cihazlarda Online Görüntü İşleme

clock Şubat 14, 2010 10:29 by author Volkan Atasever

Mobil Cihazlarda Online Görüntü İşleme Yazılımının Geliştirilmesi

Özet: Günümüz kişisel bilgisayarlarda görüntü işleme uygulamaları önemli bir yere sahiptir. Teknolojinin gelişmesine parelel olarak mobil cihazların kullanımı da yaygınlaşmaktadır. 3G teknolojinin de yaygınlaşması ile birlikte mobil cihazlarda internet erişim hızı da artmıştır. Kişisel bilgisayarlarda yapılan birçok işlem mobil cihazlar üzerinden de yapılabilir hale gelmiştir. Mobil cihazlar üzerinde yer alan bazı uygulamalar kullanıcı tarafından verimli bir şekilde kullanılmamaktadır. Ayrıca Windows Mobile işletim sistemi kullanan mobil cihazlarda görüntü işleme yazılımları sınırlı düzeylerdedir. Elde edilen görüntüler kişisel bilgisayarlar üzerinde bir takım yazılımlar kullanılarak iyileştirilmektedir. Standart java destekli mobil cihazlarda yer alan yazılımlar ise eğlence amaçlı kullanımın ötesine geçememektedir. Bu çalışmada mobil cihazlarda yer alan kamera ve 3G teknolojisi kullanılarak çevrimiçi görüntü işleme yazılımı anlatılmıştır.

Anahtar Sözcükler:

Windows Mobile, Mobil Cihazlar, Görüntü İşleme, Online Görüntü İşleme

Online Image Processing Software Development on Mobile Devices

 

Abstract: Today, Image processing applications on personal computers have an important place. Parallel to the development of technology, using of mobile devices are becoming common. With the widespread use of 3G technology on mobile devices, internet access speed also increased. Many operations performed on personal computers can also be done on mobile devices. Some applications located on mobile devices are not used efficiently by the user. Additionally, the Windows Mobile operating system for mobile devices that use image processing software is in limited level. The obtained images are improved using a software tool on a personal computer. The software in the standard java supported mobile devices can not be exceeded beyond use of entertainment purposes. In this study, by using the camera, and 3G technology which are in mobile devices, the online image processing software has been presented.

Keywords: Windows Mobile, Mobile Devices, Image Processing, Online Image Processing.

 

İNDİRMEK İÇİN:

 

 

volkanatasever_akademik.pdf (300,37 kb)

 

 



Windows Mobile ile Görüntü İşleme

clock Ekim 13, 2009 04:59 by author Volkan Atasever
 
Mobil cihazlar özellikle Windows Mobile kullanan cihazlar hayatımıza girdiğinden beri sıradan masaüstü ve dizüstü bilgisayarla yaptığımız işlemlerin hepsini bu cihazlarlada yapabilir seviyeye geldik. İşlemci güçleri ve depolama kapasiteleri arttığı için artık ben PDA=Desktop=Laptop denklemini her alanda söylemeye başladım. Bazı cihazlarda resimleri işlemek için gerekli olan yazılım gömülü gelmekte fakat PDA’lerin bazı versiyonlarında yok veya tam donanımlı bir image işleme yazılımı bulunmamakta. Bulunsa dahi çoğu teknoloji için durağan bir görüntü işlemek yazılım geliştirici kişi tarafından bir ihtiyaç halini almaktadır. Bu yazımda sizlere durağan görüntü olan image ler ile Windows Mobile cihazın kamerasından veya dışarıdan aldığınız görüntüyü işlemeyi göstermek istemekteyim. Burada asıl zorluk .Net Framework’ün geniş olanaklarından .Net Compact Framework’un kısıtlı olanaklarına geçiş yaptığımızdan ötürü olacaktır.

 

RGB mantığı ve kısmende olsa unsafe kod kullanacağımızı belirtmek isterim. Öncelikle kullanıcı arayüzümüzü oluşturalım;

 

Bu arayüz sayesinde kırmızı,yeşil ve mavi değerlerimizin her tonunu ve birlikte yansıyan her rengi verebilmekteyiz.

Bir pixel’in Red,Green veya Blue değerinin 255 aldığını düşünürsek, toplam bir imaja verebileceğimiz renk sayısı,

255*255*255 olacaktır. Yeni Renk kısmında ise oluşan renkleri görmekteyiz. Formumuzun kodu aşağıdaki şekildedir;

 

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

    public partial class renkminimize : Form

    {

        Image islenecek;

        menu mn;

        public renkminimize(Image img,menu mnu)

        {

            mn = mnu;

            islenecek = img;

            InitializeComponent();

        }

 

        private void menuItem1_Click(object sender, EventArgs e)

        {

            mn.Show();

            this.Dispose();

        }

        private void deger()

        {

            Color newColor = Color.FromArgb(trackBar1.Value, trackBar2.Value, trackBar3.Value);

            label5.BackColor = newColor;

        }

        private void trackBar1_ValueChanged(object sender, EventArgs e)

        {

            deger();

        }

 

        private void trackBar2_ValueChanged(object sender, EventArgs e)

        {

            deger();

        }

 

        private void trackBar3_ValueChanged(object sender, EventArgs e)

        {

            deger();

        }

 

        private void menuItem2_Click(object sender, EventArgs e)

        {

            Bitmap bmp=new Bitmap(islenecek);

            bool donus = filtercore.ColorChangeMinimize(bmp, trackBar1.Value, trackBar2.Value, trackBar3.Value);

            Image img= bmp;

            menu mnn = new menu(img);          

            mn.Dispose();

            this.Dispose();

            mnn.Show();

        }

}

Trackbar’daki değerlerle Color sınıfını kullanarak yeni rengimizi herhangi bir trackbar değişiminde tutmaktayız.

Bu sayede her renk Color sınıfı sayesinde elimizde olmakta. FilterCore sınıfımız ise aşağıda bu sayede yeni rengi imaja uygulayabilmekteyiz;

 

public class filtercore

{

        public static bool ColorChangeMinimize(Bitmap b, int red, int green, int blue)

        {

            BitmapData bmData = b.LockBits(new Rectangle(0, 0, b.Width, b.Height), ImageLockMode.ReadWrite,PixelFormat.Format24bppRgb);

 

            int stride = bmData.Stride;

            System.IntPtr Scan0 = bmData.Scan0;

 

            unsafe

            {

                byte* p = (byte*)(void*)Scan0;

 

                int nOffset = stride - b.Width * 3;

                int Pixel;

 

                for (int y = 0; y < b.Height; ++y)

                {

                    for (int x = 0; x < b.Width; ++x)

                    {

                        Pixel = p[2] + red;

                        Pixel = Math.Max(Pixel, 0);

 

                        p[2] = (byte)Math.Min(255, Pixel);

 

                        Pixel = p[1] + green;

                        Pixel = Math.Max(Pixel, 0);

 

                        p[1] = (byte)Math.Min(255, Pixel);

 

                        Pixel = p[0] + blue;

                        Pixel = Math.Max(Pixel, 0);

 

                        p[0] = (byte)Math.Min(255, Pixel);

 

                        p += 3;

                    }

                    p += nOffset;

                }

            }

 

            b.UnlockBits(bmData);

 

            return true;

        }

 

}

Bu sınıf sayesinde resmimizi unsafe olarak piksel piksel işleyebilmekteyiz. Her byte’ına ulaştığımız için tüm resimin

kontrolü elimizde.

               Ana menümüzden renkminimize sınıfına ise bir image göndererek çağırmalıyız;

 

                renkminimize rnkd = new renkminimize(this.pictureBox1.Image, this);

                rnkd.Show();

          this.Hide();

 Programımızın çalışmasını ise aşağıdaki ekran görüntülerinden görebilirsiniz. Aşağıdaki değerlerin renk sonucunu realtime renk paletinden görebilirsiniz.

 Uygulaya bastıktan sonra ana menüdeki picturebox'ın içine yeni renkteki imajımız yerleşecektir.

 

 

  Yeni imaj !

 

 Kaynak: imaj işleme sınıfı, codeproject.com



Volkan Atasever Kimdir ?

E-Mail: volkan(et)volkanatasever.com

Genel Müdür/S4G 
Bilgisayar Mühendisi

mühendislik, edebiyat, retro computer, yazılım, şiir, nümismatik, bilişim, podcast ve bir çok kategoride yazılarım...

Yazılım Kitaplarım

   

Şiir Kitaplarım

Dergi Yazılarım

 

Sosyal Ağlarım

 

 

 

 

Retro Bilgisayar Dergimiz

Türkçe Retro Bilgisayar dergimiz haziran 2016'da ilk sayısını çıkardı. ilk sayı yeni bir internet sitesinden tekrar yayınlanacaktır. Retro camiası tüm dünyada oldukça eğlenceli bir camia. Sizde katkıda bulunmak isterseniz bana mail atmanız yeterli. Dergimiz PDF formatında ve tamamen ücretsizdir.

Yasal Bilgi

Sitedeki yazıları,kodlar ve diğer materyaller Volkan Atasever'e aittir. Yazarı ve siteyi kaynak göstererek yazıları paylaşabilirsiniz.  Copyright(c)2004-2017

Sign In

Yazılım