Çeşitli durumlarda, örneğin görüntü işleme vb. işlemlerde renkli görüntüleri gri tonlamaya veya siyah beyaza dönüştürmeniz gerekebilir. Bu nedenle, bu makalede, C# dilinde bir görüntüyü gri tonlamaya nasıl dönüştüreceğinizi öğreneceksiniz. Ayrıca makale, görüntülerin gri tonlamasını ve ikili hale getirilmesini açık bir şekilde ele alacaktır.
- Görüntüyü Gri Tonlamaya Dönüştürmek için C# API
- Görüntüyü C# ile Gri Tonlamaya Dönüştür
- Binarizasyon ile Görüntüyü Siyah Beyaza Dönüştürün
- Ücretsiz API Lisansı Alın
Görüntüyü Gri Tonlamaya Dönüştürmek için C# API’si - Ücretsiz İndirme
RGB renkli görüntüleri gri tonlamaya dönüştürmek için Aspose.Imaging for .NET kullanacağız. Popüler görüntü biçimlerini sorunsuz bir şekilde değiştirmenize izin veren güçlü bir görüntü işleme API’sidir. API’yi indirebilir veya NuGet kullanarak yükleyebilirsiniz.
PM> Install-Package Aspose.Imaging
Bir Görüntüyü C# ile Gri Tonlamaya Dönüştürme
C# dilinde renkli bir görüntüyü gri tonlamaya dönüştürme adımları aşağıda verilmiştir.
- İlk olarak, Image sınıfını kullanarak görüntüyü yükleyin.
- Görüntüyü bir RasterCachedImage nesnesine yayınlayın.
- RasterCachedImage.CacheData() yöntemini kullanarak görüntüyü önbelleğe alın.
- RasterCachedImage.Grayscale() yöntemini kullanarak görüntüyü gri tonlamaya dönüştürün.
- Son olarak, RasterCachedImage.Save(String) yöntemini kullanarak görüntüyü kaydedin.
Aşağıdaki kod örneği, C# kullanarak bir görüntünün gri tonlamaya nasıl dönüştürüleceğini gösterir.
// Image sınıfı örneğine bir görüntü yükleyin
using (Image image = Image.Load("aspose.jpg"))
{
// Görüntüyü RasterCachedImage'a aktarın ve görüntünün önbelleğe alınıp alınmadığını kontrol edin
RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
if (!rasterCachedImage.IsCached)
{
// Henüz önbelleğe alınmadıysa resmi önbelleğe al
rasterCachedImage.CacheData();
}
// Görüntüyü gri tonlamalı temsiline dönüştürün
rasterCachedImage.Grayscale();
// resmi kaydet
rasterCachedImage.Save("grayscaled.jpg");
}
Giriş Resmi
Aşağıda, bu makalede kullanılan örnek bir resim bulunmaktadır.
Gri Tonlamaya Dönüştürüldü
Gri tonlamaya dönüştürüldükten sonraki görüntü aşağıdadır.
C#’ta Gri Tonlamalı Görüntü - Binarizasyonlu Siyah Beyaz
Binarizasyonda, bir görüntüdeki her piksel yalnızca iki olası değere sahip olabilir; 0 veya 1. Burada 0 yokluğu, 1 ise rengin varlığını ifade eder. Aspose.Imaging iki ikilileştirme yöntemini destekler, yani sabit ile ikilileştirme ve Otsu eşiğiyle ikilileştirme.
C#’ta Sabit Eşik ile Binarizasyon
Aşağıdakiler, sabit eşik kullanarak bir görüntü üzerinde ikilileştirme gerçekleştirme adımlarıdır.
- İlk olarak, Image sınıfını kullanarak görüntüyü yükleyin.
- Görüntüyü bir RasterCachedImage nesnesine yayınlayın.
- RasterCachedImage.CacheData() yöntemini kullanarak görüntüyü önbelleğe alın.
- RasterCachedImage.BinarizeFixed() yöntemini kullanarak görüntüyü siyah beyaza dönüştürün.
- Son olarak, RasterCachedImage.Save(String) yöntemini kullanarak görüntüyü kaydedin.
Aşağıdaki C# kodu, bir görüntüye ikilileştirme uygular ve onu siyah beyaza dönüştürür.
// Image sınıfı örneğine bir görüntü yükleyin
using (Image image = Image.Load("aspose.jpg"))
{
// Görüntüyü RasterCachedImage'a aktarın ve görüntünün önbelleğe alınıp alınmadığını kontrol edin
RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
if (!rasterCachedImage.IsCached)
{
// Henüz önbelleğe alınmadıysa resmi önbelleğe al
rasterCachedImage.CacheData();
}
// Görüntüyü ikili temsiline dönüştürün
rasterCachedImage.BinarizeFixed(100);
// resmi kaydet
rasterCachedImage.Save("black and white.jpg");
}
Otsu Threshold ile C# İkilileştirme
Aşağıdakiler, bir görüntüyü Otsu eşiğiyle siyah beyaza dönüştürme adımıdır.
- İlk olarak, Image sınıfını kullanarak görüntüyü yükleyin.
- Görüntüyü bir RasterCachedImage nesnesine yayınlayın.
- RasterCachedImage.CacheData() yöntemini kullanarak görüntüyü önbelleğe alın.
- RasterCachedImage.BinarizeOtsu() yöntemini kullanarak görüntüyü siyah beyaza dönüştürün.
- Son olarak, RasterCachedImage.Save(String) yöntemini kullanarak görüntüyü kaydedin.
Aşağıdaki kod örneği, C# kullanarak bir görüntünün Otsu eşiğiyle siyah beyaza nasıl dönüştürüleceğini gösterir.
// Image sınıfı örneğine bir görüntü yükleyin
using (Image image = Image.Load("aspose.jpg"))
{
// Görüntüyü RasterCachedImage'a aktarın ve görüntünün önbelleğe alınıp alınmadığını kontrol edin
RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
if (!rasterCachedImage.IsCached)
{
// Henüz önbelleğe alınmadıysa resmi önbelleğe al
rasterCachedImage.CacheData();
}
// Görüntüyü ikili temsiline dönüştürün
rasterCachedImage.BinarizeOtsu();
// resmi kaydet
rasterCachedImage.Save("black and white.jpg");
}
C# Image to Grayscale Converter - Ücretsiz Lisans Alın
API’yi değerlendirme sınırlamaları olmaksızın kullanmak için ücretsiz bir geçici lisans alabilirsiniz.
Çözüm
Bu makalede, C# kullanarak bir görüntüyü gri tonlamalı ve siyah beyaza dönüştürmeyi öğrendiniz. Ayrıca, sabit veya Otsu eşikli görüntülere ikilileştirmenin nasıl uygulanacağını gördünüz. Ayrıca, belgeleri kullanarak C# görüntü işleme API’si hakkında daha fazlasını keşfedebilirsiniz. Ayrıca, sorularınızı forumumuz aracılığıyla bizimle paylaşabilirsiniz.