Çeşitli durumlarda, örneğin görüntü işlemede vb. RGB görüntüleri gri tonlamaya veya siyah beyaza dönüştürmeniz gerekebilir. Buna göre, bu makalede, Java kullanarak bir RGB görüntüsünü 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.
- Renkli Görüntüyü Gri Tonlamaya Dönüştürmek için Java API
- Görüntüyü Java’da Gri Tonlamaya Dönüştür
- Binarizasyon ile Görüntüyü Siyah Beyaza Dönüştürün
Java Renkli Görüntüden Gri Tonlamaya Dönüştürücü - Ücretsiz İndirme
RGB görüntüleri gri tonlamaya dönüştürmek için Aspose.Imaging for Java kullanacağız. Popüler görüntü formatlarını sorunsuz bir şekilde değiştirmenize izin veren bir Java görüntü işleme API’sidir. API’yi indirebilir veya aşağıdaki Maven yapılandırmalarını kullanarak yükleyebilirsiniz.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging-java</artifactId>
<version>21.7</version>
<classifier>jdk16</classifier>
</dependency>
Bir RGB Görüntüsünü Java’da Gri Tonlamaya Dönüştürme
Java’da bir RGB görüntüsünü 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.
- Ardından, görüntüyü bir RasterCachedImage nesnesine aktarı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, Java’da bir görüntünün gri tonlamaya nasıl dönüştürüleceğini gösterir.
// Görüntü örneğine bir görüntü yükleme
try (Image image = Image.load("aspose-logo.jpg"))
{
// Görüntüyü RasterCachedImage'a yayınla
RasterCachedImage rasterCachedImage = (RasterCachedImage) image;
// Resmin önbelleğe alınıp alınmadığını kontrol edin
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();
// Ortaya çıkan görüntüyü kaydedin
rasterCachedImage.save("Grayscaling_out.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.
Java Görüntüyü Binarizasyon ile Siyah Beyaz Olarak Kaydet
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.
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.
- Ardından, görüntüyü bir RasterCachedImage nesnesine aktarı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 Java kodu, bir görüntüye ikilileştirme uygular ve onu siyah beyaza dönüştürür.
// Görüntü örneğine bir görüntü yükleme
try (Image image = Image.load("aspose-logo.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ü önceden tanımlanmış sabit eşikle ikili hale getirin ve elde edilen görüntüyü kaydedin
rasterCachedImage.binarizeFixed((byte) 100);
rasterCachedImage.save("BinarizationWithFixedThreshold_out.jpg");
}
Otsu Threshold ile Binarizasyon
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, Java kullanılarak Otsu eşiğiyle bir görüntünün nasıl siyah beyaza dönüştürüleceğini gösterir.
// Görüntü örneğine bir görüntü yükleme
try (Image image = Image.load("aspose-logo.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ü Otsu Thresholding ile ikili hale getirin
rasterCachedImage.binarizeOtsu();
// Ortaya çıkan görüntüyü kaydedin
rasterCachedImage.save("BinarizationWithOtsuThreshold_out.jpg");
}
Renkli Görüntüden Gri Tonlamalı Java’ya Dönüştürücü - Ücretsiz Lisans Alın
API’yi değerlendirme sınırlamaları olmadan kullanmak için ücretsiz bir geçici lisans alabilirsiniz.
Çözüm
Bu makalede, Java kullanarak renkli bir görüntüyü gri tonlamalı ve siyah beyaza nasıl dönüştüreceğinizi öğrendiniz. Ayrıca, sabit veya Otsu eşikli görüntülere ikilileştirmenin nasıl uygulanacağını gördünüz. Ek olarak, belgeleri kullanarak Java 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.