Önceki blog gönderisinde, görüntülere bulanıklık efektinin nasıl ekleneceğini gösterdik. Bugün size, görüntüleri yumuşatmak ve gürültüyü gidermek için yaygın olarak kullanılan medyan ve wiener filtrelerini nasıl uygulayacağınızı göstereceğiz. Öyleyse, Java’da programlı olarak bir görüntüye medyan ve wiener dolgulayıcıların nasıl uygulanacağını görelim.
- Medyan ve Wiener Görüntü Filtrelerini Uygulamak için Java API
- Medyan Filtresini Java’daki Bir Görüntüye Uygulayın
- Bir Görüntüye Gauss Wiener Filtresi Uygulayın
- Bir Görüntünün Motion Wiener Filtrelemesi
Medyan ve Wiener Görüntü Filtrelerini Uygulamak için Java API - Ücretsiz İndirme
Medyan ve wiener filtrelerini görüntülere uygulamak için Aspose.Imaging for Java kullanacağız. Java uygulamalarının içinden görüntüleri işlemek için güçlü bir görüntü düzenleme 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>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging</artifactId>
<version>22.9</version>
</dependency>
Medyan Filtresini Java’daki Bir Görüntüye Uygulayın
Medyan filtre, görüntüleri gürültüden arındırmanın popüler bir yolu olan doğrusal olmayan bir dijital filtreleme tekniğidir. Aşağıdakiler, Java’da bir görüntüye medyan filtresi uygulama adımlarıdır.
- İlk olarak, Image.load() yöntemini kullanarak görüntüyü yükleyin.
- Ardından, görüntüyü RasterImage türüne yayınlayın.
- MedianFilterOptions sınıfının bir örneğini oluşturun ve onu dikdörtgenin boyutuyla başlatın.
- RasterImage.filter(Rectangle, MedianFilterOptions) yöntemini kullanarak medyan filtresini uygulayın.
- Son olarak, ortaya çıkan görüntüyü RasterImage.save() yöntemini kullanarak kaydedin.
Aşağıdaki kod örneği, Java’da bir görüntüye medyan filtresinin nasıl uygulanacağını gösterir.
// Gürültülü görüntüyü yükle
Image image = Image.load("jack.jpg");
// görüntüyü RasterImage'a dönüştürün
RasterImage rasterImage = (RasterImage) image;
if (rasterImage == null) {
return;
}
// MedianFilterOptions sınıfının bir örneğini oluşturun ve boyutu ayarlayın.
MedianFilterOptions options = new MedianFilterOptions(4);
// MedianFilterOptions filtresini RasterImage nesnesine uygulayın.
rasterImage.filter(image.getBounds(), options);
// Ortaya çıkan görüntüyü kaydedin
image.save("Jac_median_denoise.jpg");
Medyan filtreyi uygulamadan önceki ve sonraki görüntü aşağıdadır.
Java’daki Bir Görüntüye Gauss Wiener Filtresi Uygulayın
Gauss wiener, ek gürültüyü ve bulanıklığı en aza indirerek görüntü derecelendirme için yaygın olarak kullanılan başka bir yöntemdir. Gauss wiener filtresini Java’da bir görüntüye uygulama adımları aşağıdadır.
- İlk olarak, Image.load() yöntemini kullanarak görüntüyü yükleyin.
- Ardından, görüntüyü RasterImage türüne yayınlayın.
- GaussWienerFilterOptions sınıfının bir örneğini oluşturun ve onu yarıçap boyutu ve yumuşak değerle başlatın.
- (İsteğe bağlı) Gri tonlamalı bir görüntü elde etmek için GaussWienerFilterOptions.setGrayscale(true) yöntemini kullanın.
- RasterImage.filter(Rectangle, GaussWienerFilterOptions) yöntemini kullanarak gauss wiener filtresini uygulayın.
- Son olarak, ortaya çıkan görüntüyü RasterImage.save() yöntemini kullanarak kaydedin.
Aşağıdaki kod örneği, Java’da bir görüntüye gauss wiener filtresinin nasıl uygulanacağını gösterir.
// resmi yükle
Image image = Image.load("jack.jpg");
// görüntüyü RasterImage'a dönüştürün
RasterImage rasterImage = (RasterImage) image;
if (rasterImage == null) {
return;
}
// GaussWienerFilterOptions sınıfının bir örneğini oluşturun ve yarıçap boyutunu ve yumuşak değeri ayarlayın.
GaussWienerFilterOptions options = new GaussWienerFilterOptions(12, 3);
options.setGrayscale(true);
// GaussWienerFilterOptions filtresini RasterImage nesnesine uygulayın.
rasterImage.filter(image.getBounds(), options);
// Ortaya çıkan görüntüyü kaydedin
image.save("Jac_guass_weiner.jpg");
Gauss wiener filtresini gri tonlama seçeneğiyle uygulamadan önceki ve sonraki görüntü aşağıdadır.
Gauss wiener filtresini gri tonlama olmadan uygulamadan önceki ve sonraki görüntü aşağıdadır.
Java’daki Bir Görüntüye Motion Wiener Filtresi Uygulayın
Motion wiener filtresi, hareket eden nesneler nedeniyle oluşan bir görüntüdeki bulanıklığı gidermek için kullanılır. Java’da bir görüntüye motion wiener filtresini uygulama adımları aşağıdadır.
- İlk olarak, Image.load() yöntemini kullanarak görüntüyü yükleyin.
- Ardından, görüntüyü RasterImage türüne yayınlayın.
- MotionWienerFilterOptions sınıfının bir örneğini oluşturun ve onu uzunluk, yumuşak değer ve açı ile başlatın.
- RasterImage.filter(Rectangle, MotionWienerFilterOptions) yöntemini kullanarak hareket wiener filtresini uygulayın.
- Son olarak, ortaya çıkan görüntüyü RasterImage.save() yöntemini kullanarak kaydedin.
Aşağıdaki kod örneği, Java’da bir görüntüye hareket wiener filtresinin nasıl uygulanacağını gösterir.
// resmi yükle
Image image = Image.load("jack.jpg");
// görüntüyü RasterImage'a dönüştürün
RasterImage rasterImage = (RasterImage) image;
if (rasterImage == null) {
return;
}
// MotionWienerFilterOptions sınıfının bir örneğini oluşturun ve uzunluğu, yumuşak değeri ve açıyı ayarlayın.
MotionWienerFilterOptions options = new MotionWienerFilterOptions(10, 2, 10);
//options.setGrayscale(doğru);
// MotionWienerFilterOptions filtresini RasterImage nesnesine uygulayın.
rasterImage.filter(image.getBounds(), options);
// Ortaya çıkan görüntüyü kaydedin
image.save("Jac_motion_weiner.jpg");
Java Medyan ve Wiener Görüntü Filtreleme API’si - Ücretsiz Lisans Alın
Ücretsiz bir geçici lisans alabilirsiniz ve değerlendirme sınırlamaları olmadan görüntülere medyan ve wiener filtreleri uygulayabilirsiniz.
Çözüm
Bu makalede, Java’da görüntülere medyan ve wiener filtrelerinin nasıl uygulanacağını öğrendiniz. Ayrıca, bir görüntüdeki hareketli nesnelerin gürültüsünün nasıl azaltılacağını ele aldık. Görüntü düzenleme yeteneklerini entegre etmek için bu özellikleri Java uygulamanızda kolayca kullanabilirsiniz.
Devamını oku
Belgeleri kullanarak Java görüntü işleme API’si hakkında daha fazlasını keşfedebilirsiniz. Ayrıca forumumuz aracılığıyla sorularınızı bizimle paylaşabilirsiniz.