Ana içeriğe atla

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

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

BUNCA SORUYLA NE YAPACAĞIZ?

Bunca zaman ve kaynak varken, huzurlu yaşamak mümkün mü?  Zaman yönetimi hiç bu kadar kıymetli olmuş muydu?  Mesela veriye ulaşmak artık saniyelere indirilmişken. At sırtında alınan günlerce yolculuk bir kaç saate düşürülmüşken, hala boş zamanımızın olmamasını bahane edebilir miyiz? Örneğin işinize servisle gidip gelirken her gün 1 saatinizi nasıl değerlendiriyorsunuz? Peki zaman illa değerlendirilmesi gereken bir şey mi? Bunca veri akışı içerisinde kimyamızı sağlıklı tutabilmek mümkün mü? Dopamin detoksu bunlardan doğmadı mı? Hiçlik içinde ya da minimum veri akışı ile ne kadar zaman geçirebiliriz? Dijital okur-yazarlık kapsamında herkes veriye nasıl ulaşılacağı ve internetin nasıl daha etkili kullanılacağı konusunda içerik üretiyor. Peki kendimizi bunlardan nasıl koruyacağız. Bu kısa hayatımızda bu kadar farklı alanda bu kadar farklı bilgiye ihtiyacımız var mı? Bizim hobilerimiz neler? Bilgi akışını nasıl filtreleyebiliriz? Bu veri akışı içerisinde içimizden gelen sesi duyabi...