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 = 0; j < Goruntu.Height; j++)//resmi dikey olarak taramak için

{

Color Pixel = Goruntu.GetPixel(i, j);//color sınıfını ile pixel rengini alıyoruz.

int GriTonlama = (Pixel.R + Pixel.G + Pixel.B) / 3;//almış olduğumuz renk değerini gri tona çevirmek için kullanmamız gereken formül.

yeniGoruntu.SetPixel(i, j, Color.FromArgb(GriTonlama, GriTonlama, GriTonlama));//yeni görüntümüze gri tonlamadaki pixel değerini veriyoruz.

}

}

return yeniGoruntu;

}

private void button1_Click(object sender, EventArgs e)

{

pictureBox2.Image = PixelTara(new Bitmap(pictureBox1.Image));

}

}

}

// kod açıklamaları

//-----------------

//int GriTonlama = (Pixel.R + Pixel.G + Pixel.B) / 3;

//Pixel.R ile o pixelin Kırmızı değerini alıyoruz. G,B de green ve blue temsil ediyor.

Yorumlar

Adsız dedi ki…
Çok teşekkür ederim, bir çalışmada resmi okumada sıkıntı yaşıyordum yönteminiz sayesinde sorun çözüldü.

Popüler Yayınlar