Medyan ve Wiener Filtrelerini Python'daki Görüntülere Uygulayın

Çeşitli durumlarda, görsel kalitelerini artırmak için görüntüleri gürültüden arındırmanız gerekir. Bu, resimlerinizin genel netliğini artırmak istediğinizde kullanışlıdır. Ayrıca, tanıma, segmentasyon vb. gibi ileri analizlerden önce görüntüleri önceden işlemek için gürültü giderme kullanılır. Medyan ve wiener filtreleri, görüntülerin parazitini gidermek ve pürüzsüzleştirmek için yaygın olarak kullanılır. Öyleyse, Python’da görüntülere medyan ve wiener filtrelerinin nasıl uygulanacağına bir göz atalım.

Medyan ve Wiener Görüntü Filtrelerini Uygulamak için Python Kitaplığı

Medyan ve wiener filtrelerini görüntülere uygulamak için, görüntüleri zahmetsizce değiştirmenizi sağlayan güçlü bir görüntü işleme kitaplığı olan Aspose.Imaging for Python kullanacağız. Kitaplığı kullanmak için indirebilir veya aşağıdaki komutu kullanarak kurabilirsiniz.

> pip install aspose-imaging-python-net 

Medyan Filtresini Python’daki Bir Görüntüye Uygulayın

Medyan filtre, doğrusal olmayan bir dijital filtreleme tekniği kullanan, yaygın olarak kullanılan bir gürültü giderme yöntemidir. Python’da bir görüntüye medyan filtresi uygulama adımları aşağıdadır.

  • İlk önce, Image.load() yöntemini kullanarak görüntüyü yükleyin.
  • Ardından, görüntüyü RasterImage türüne aktarı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, filtrelenmiş görüntüyü RasterImage.save() yöntemini kullanarak kaydedin.

Aşağıdaki kod örneği, Python’da bir görüntüye medyan filtresinin nasıl uygulanacağını gösterir.

import aspose.pycore as aspycore
from aspose.imaging import Image, RasterImage
from aspose.imaging.imagefilters.filteroptions import MedianFilterOptions
import os


if 'TEMPLATE_DIR' in os.environ:
	templates_folder = os.environ['TEMPLATE_DIR']
else:
	templates_folder = r"C:\Users\USER\Downloads\templates"

delete_output = 'SAVE_OUTPUT' not in os.environ
data_dir = templates_folder
# Gürültülü görüntüyü yükle 
with Image.load(os.path.join(data_dir, "template.gif")) as image:
	# Görüntüyü RasterImage'a aktarın
	if aspycore.is_assignable(image, RasterImage):
		raster_image = aspycore.as_of(image, RasterImage)
		# MedianFilterOptions sınıfının bir örneğini oluşturun ve boyutunu ayarlayın, MedianFilterOptions filtresini RasterImage nesnesine uygulayın ve ortaya çıkan görüntüyü kaydedin
		options = MedianFilterOptions(4)
		raster_image.filter(image.bounds, options)
		image.save(os.path.join(data_dir, "result.gif"))

if delete_output:
	os.remove(os.path.join(data_dir, "result.gif"))

Medyan filtreyi uygulamadan önceki ve sonraki görüntü aşağıdadır.

Görüntü Python'a Medyan Filtresi Uygulayın

Python’da Bir Görüntüye Gauss Wiener Filtresi Uygulayın

Gauss wiener, görüntülerdeki netliği artırmak ve gürültüyü azaltmak için yaygın olarak kullanılan başka bir yöntemdir. Gauss wiener filtresini Python’da bir görüntüye uygulamak için gereken adımlara bir göz atalım.

  • İlk önce, Image.load() yöntemini kullanarak görüntüyü yükleyin.
  • Ardından, görüntüyü RasterImage türüne aktarın.
  • GaussWienerFilterOptions sınıfının bir örneğini oluşturun ve bunu 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.grayscale özelliğini true olarak ayarlayı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, Python’da bir görüntüye Gauss wiener filtresinin nasıl uygulanacağını gösterir.

import aspose.pycore as aspycore
from aspose.imaging import Image, RasterImage
from aspose.imaging.imagefilters.filteroptions import GaussWienerFilterOptions
import os


if 'TEMPLATE_DIR' in os.environ:
	templates_folder = os.environ['TEMPLATE_DIR']
else:
	templates_folder = r"C:\Users\USER\Downloads\templates"

delete_output = 'SAVE_OUTPUT' not in os.environ
data_dir = templates_folder
# resmi yükle
with Image.load(os.path.join(data_dir, "template.jpg")) as image:
	# Görüntüyü RasterImage'a aktarın
	if aspycore.is_assignable(image, RasterImage):
		raster_image = aspycore.as_of(image, RasterImage)
		# GaussWienerFilterOptions sınıfının bir örneğini oluşturun ve yarıçap boyutunu ve yumuşak değeri ayarlayın.
		options = GaussWienerFilterOptions(12, 3)
		options.grayscale = True
		# MedianFilterOptions filtresini RasterImage nesnesine uygulayın ve elde edilen görüntüyü kaydedin
		raster_image.filter(image.bounds, options)
		image.save(os.path.join(data_dir, "result.jpg"))

if delete_output:
	os.remove(os.path.join(data_dir, "result.jpg"))

Gauss wiener filtresini gri tonlama seçeneğiyle uygulamadan önceki ve sonraki görüntü aşağıdadır.

Görüntü Gri Tonlamasına Gauss Weiner Filtresi Uygulayın

Gauss wiener filtresini gri tonlama olmadan uygulamadan önceki ve sonraki görüntü aşağıdadır.

Görüntüye Gauss Weiner Renk Filtresi Uygula

Python’da Bir Görüntü İçin Motion Wiener Filtresi

Motion wiener filtresi, hareket bulanıklığının neden olduğu bulanıklığı veya bozulmayı azaltmak için kullanılır. Bu tür bir bulanıklık, kamera ile nesne arasındaki göreli hareket nedeniyle olur. Python’da bir görüntüye motion wiener filtresini uygulama adımları aşağıdadır.

  • İlk önce, Image.load() yöntemini kullanarak görüntüyü yükleyin.
  • Ardından, görüntüyü RasterImage türüne aktarı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, Python’da bir görüntüye hareket wiener filtresinin nasıl uygulanacağını gösterir.

import aspose.pycore as aspycore
from aspose.imaging import Image, RasterImage
from aspose.imaging.imagefilters.filteroptions import MotionWienerFilterOptions
import os


if 'TEMPLATE_DIR' in os.environ:
	templates_folder = os.environ['TEMPLATE_DIR']
else:
	templates_folder = r"C:\Users\USER\Downloads\templates"

delete_output = 'SAVE_OUTPUT' not in os.environ
data_dir = templates_folder
# resmi yükle
with Image.load(os.path.join(data_dir, "template.gif")) as image:
	# Görüntüyü RasterImage'a aktarın
	if aspycore.is_assignable(image, RasterImage):
		raster_image = aspycore.as_of(image, RasterImage)
		# MotionWienerFilterOptions sınıfının bir örneğini oluşturun ve uzunluğu, yumuşak değeri ve açıyı ayarlayın.
		options = MotionWienerFilterOptions(50, 9, 90)
		options.grayscale = True
		# MedianFilterOptions filtresini RasterImage nesnesine uygulayın ve elde edilen görüntüyü kaydedin
		raster_image.filter(image.bounds, options)
		image.save(os.path.join(data_dir, "result.gif"))

if delete_output:
	os.remove(os.path.join(data_dir, "result.gif"))
Python'da Görüntüye Motion Weiner Filtresi Uygulayın

Ücretsiz Python Görüntü Filtresi Kitaplığı

Ücretsiz bir geçici lisans alabilirsiniz ve değerlendirme sınırlamaları olmadan görüntülere medyan ve wiener filtreleri uygulayabilirsiniz.

Ücretsiz Çevrimiçi Resim Düzenleme Uygulaması

Görüntülerinizi çevrimiçi düzenlemek için ücretsiz web tabanlı görüntü düzenleme aracımızı kullanın. Bu görüntü düzenleyici Aspose.Imaging for Python’u kullanır ve sizden bir hesap oluşturmanızı istemez.

Çözüm

Bu makalede, Python’da görüntülere medyan ve wiener filtrelerinin nasıl uygulanacağını öğrendiniz. Adımlar ve kod örnekleri, görüntüleri programlı olarak parazitten arındırmak için farklı türde filtrelerin nasıl uygulanacağını göstermiştir. Ek olarak, bir görüntüdeki hareketli nesnelerin gürültüsünün bir motion wiener filtresi kullanarak nasıl azaltılacağını ele aldık. Son olarak, size tamamen ücretsiz olan ve kaydolmadan kullanabileceğiniz bir çevrimiçi resim düzenleme uygulaması sağladık.

Belgeleri kullanarak Python görüntü işleme kitaplığı hakkında daha fazlasını keşfedebilirsiniz. Ayrıca forumumuz aracılığıyla sorularınızı bizimle paylaşabilirsiniz.

Ayrıca bakınız