Altbilgi içeriğine atla
PYTHON YARDıM

scikit-image Python (Nasıl Çalışir: Geliştiriciler İçin Bir Kılavuz)

Scikit-image, Python'da görüntü işleme için tasarlanmış algoritmaların bir koleksiyonudur. Serbestçe kullanılabilir ve kısıtlamasızdır, yüksek kaliteli, hakemli kodları gönüllü bir topluluk tarafından oluşturulmuştur. Scikit-image projesi, Google Write Code programının bir parçası olarak 2009 yılında Google'da Stefan van der Walt ve diğer Scikit-image katkıda bulunanları tarafından başlatıldı. Akademik ve endüstriyel uygulamalar için kullanımı kolay, verimli ve genişletilebilir bir Python görüntü işleme kütüphanesi oluşturmayı amaçladı. Bu makalede, Scikit-image Python görüntü işleme kütüphanesini ve Iron Software adlı bir PDF oluşturma kütüphanesini inceleyeceğiz: IronPDF.

Başlarken

Scikit-image hakkında bilgi edinmek için resmi web sitesini inceleyin. Ayrıca, Data Carpentry, Python'da Scikit kullanarak görüntü işlemeyi öğreten harika bir ders sunuyor.

pip aracılığıyla kurulum

  • Python'un yüklü olduğundan emin olun (en az sürüm 3.10).
  • Terminalinizi veya komut istemini açın.

    • pip'i güncelleyin:
    python -m pip install -U pip
    python -m pip install -U pip
    SHELL
    • pip aracılığıyla scikit-image'ı yükleyin:
    python -m pip install -U scikit-image
    python -m pip install -U scikit-image
    SHELL
    • Demo veri setlerine erişmek için kullanın:
    python -m pip install -U scikit-image[data]
    python -m pip install -U scikit-image[data]
    SHELL
    • Paralel işleme yetenekleri dahil olmak üzere ek bilimsel paketler için:
    python -m pip install -U scikit-image[optional]
    python -m pip install -U scikit-image[optional]
    SHELL

Temel Örnek

import skimage.io
import matplotlib.pyplot as plt

# Load an image from file
image = skimage.io.imread(fname='land.jpg')

# Display the image
plt.imshow(image)
plt.show()
import skimage.io
import matplotlib.pyplot as plt

# Load an image from file
image = skimage.io.imread(fname='land.jpg')

# Display the image
plt.imshow(image)
plt.show()
PYTHON

Filtreler

import skimage as ski

# Load a sample image from the scikit-image default collection
image = ski.data.coins()

# Apply a Sobel filter to detect edges
edges = ski.filters.sobel(image)

# Display the edges
ski.io.imshow(edges)
ski.io.show()
import skimage as ski

# Load a sample image from the scikit-image default collection
image = ski.data.coins()

# Apply a Sobel filter to detect edges
edges = ski.filters.sobel(image)

# Display the edges
ski.io.imshow(edges)
ski.io.show()
PYTHON

Kısaca skimage olarak da adlandırılan Scikit-image, görüntü işleme görevleri için güçlü bir Python kütüphanesidir. NumPy dizileri, SciPy ve matplotlib üzerine inşa edilmiştir ve görüntüleri manipüle etmek ve analiz etmek için çeşitli fonksiyonlar ve algoritmalar sağlar. skimage.data.coins(), kütüphaneden örnek görüntülere erişmek için kullanılır. skimage.filters, yerleşik filtrelere ve yardımcı işlevlere erişim sağlar.

Scikit-image'nin Kilit Özellikleri

1. Görüntü Filtreleme ve Kenar Tespiti

from skimage import io, filters

# Load an image
image = io.imread('image.jpg')

# Apply Gaussian blur
blurred_image = filters.gaussian(image, sigma=1.0)

# Apply Sobel edge detection
edges = filters.sobel(image)

# Display the original image, blurred image, and edges
io.imshow_collection([image, blurred_image, edges])
io.show()
from skimage import io, filters

# Load an image
image = io.imread('image.jpg')

# Apply Gaussian blur
blurred_image = filters.gaussian(image, sigma=1.0)

# Apply Sobel edge detection
edges = filters.sobel(image)

# Display the original image, blurred image, and edges
io.imshow_collection([image, blurred_image, edges])
io.show()
PYTHON

Çıktı

scikit-image Python (Geliştiriciler İçin Bir Kılavuz: Nasıl Çalışır): Şekil 1 - Görüntü Filtreleme ve Kenar Algılama Çıktısı

2. HOG (Histogram of Oriented Gradients) ile Özellik Çıkarma

from skimage import io, color, feature

# Load an example image and convert to grayscale
image = io.imread('image.jpg')
gray_image = color.rgb2gray(image)

# Compute HOG features and visualize them
hog_features, hog_image = feature.hog(gray_image, visualize=True)

# Display the original image and the HOG image
io.imshow_collection([image, gray_image, hog_image])
io.show()
from skimage import io, color, feature

# Load an example image and convert to grayscale
image = io.imread('image.jpg')
gray_image = color.rgb2gray(image)

# Compute HOG features and visualize them
hog_features, hog_image = feature.hog(gray_image, visualize=True)

# Display the original image and the HOG image
io.imshow_collection([image, gray_image, hog_image])
io.show()
PYTHON

Çıktı

scikit-image Python (Geliştiriciler İçin Bir Kılavuz: Nasıl Çalışır): Şekil 2 - Özellik Çıkarma Çıktısı

3. Geometrik Dönüşüm - Yeniden Boyutlandırma ve Döndürme

from skimage import io, transform

# Load an image
image = io.imread('image.jpg')

# Resize image by dividing its dimensions by 2
resized_image = transform.resize(image, (image.shape[0] // 2, image.shape[1] // 2))

# Rotate image by 45 degrees
rotated_image = transform.rotate(image, angle=45)

# Display the original image, resized image, and rotated image
io.imshow_collection([image, resized_image, rotated_image])
io.show()
from skimage import io, transform

# Load an image
image = io.imread('image.jpg')

# Resize image by dividing its dimensions by 2
resized_image = transform.resize(image, (image.shape[0] // 2, image.shape[1] // 2))

# Rotate image by 45 degrees
rotated_image = transform.rotate(image, angle=45)

# Display the original image, resized image, and rotated image
io.imshow_collection([image, resized_image, rotated_image])
io.show()
PYTHON

Çıktı

scikit-image Python (Geliştiriciler İçin Bir Kılavuz: Nasıl Çalışır): Şekil 3 - Geometrik Dönüşüm Çıktısı

4. Toplam Varyasyon Filtresi ile Görüntü Gürültü Giderme

from skimage import io, restoration

# Load a noisy image
image = io.imread('image.jpg')

# Apply total variation denoising
denoised_image = restoration.denoise_tv_chambolle(image, weight=0.1)

# Display the noisy image and the denoised image
io.imshow_collection([image, denoised_image])
io.show()
from skimage import io, restoration

# Load a noisy image
image = io.imread('image.jpg')

# Apply total variation denoising
denoised_image = restoration.denoise_tv_chambolle(image, weight=0.1)

# Display the noisy image and the denoised image
io.imshow_collection([image, denoised_image])
io.show()
PYTHON

Çıktı

scikit-image Python (Geliştiriciler İçin Bir Kılavuz: Nasıl Çalışır): Şekil 4 - Görüntü Gürültü Giderme Çıktısı

Görüntü işleme ve NumPy dizisi hakkında daha fazlasını resmi sayfadan bulabilirsiniz.

IronPDF Tanıtımı

scikit-image Python (Geliştiriciler İçin Bir Kılavuz: Nasıl Çalışır): Şekil 5 - IronPDF: Python PDF Kütüphanesi

IronPDF, HTML, CSS, resimler ve JavaScript kullanarak PDF belgelerinin oluşturulması, düzenlenmesi ve imzalanması için tasarlanmış sağlam bir Python kütüphanesidir. Performans verimliliğine öncelik verir ve minimum bellek kullanımı ile çalışır. Önemli özellikler şunları içerir:

  • HTML'den PDF'e Dönüşüm: Chrome PDF işleyicisini kullanarak HTML dosyalarını, HTML dizelerini ve URL'leri PDF belgelerine dönüştürün.

  • Çapraz Platform Desteği: Windows, Mac, Linux ve çeşitli Bulut Platformları üzerinde Python 3+ ile uyumludur. IronPDF ayrıca .NET, Java, Python ve Node.js ortamlarında da erişilebilirdir.

  • Düzenleme ve İmzalama: PDF özelliklerini özelleştirin, şifreler ve izinler gibi güvenlik önlemlerini uygulayın ve dijital imzaları sorunsuz bir şekilde uygulayın.

  • Sayfa Şablonları ve Ayarları: Başlıklar, alt bilgi, sayfa numaraları, ayarlanabilir kenar boşlukları, özel kağıt boyutları ve uyarlanabilir tasarımlar gibi özelliklerle PDF düzenleri oluşturun.

  • Standartlara Uygunluk: PDF/A ve PDF/UA gibi PDF standartlarına sıkı sıkıya bağlı kalır, UTF-8 karakter kodlaması uyumluluğunu sağlar ve resimler, CSS stil sayfaları ve yazı tipleri gibi varlıkları ustalıkla yönetir.

Kurulum

pip install ironpdf scikit-image

IronPDF ve Scikit Image Kullanarak PDF Belgeleri Oluşturun

Ön Koşullar

  1. Kod editörü olarak Visual Studio Code'un yüklü olduğundan emin olun
  2. Python 3 sürümünün kurulu olduğundan emin olun

Başlangıçta, betiklerinizi eklemek için bir Python dosyası oluşturalım.

Visual Studio Code'u açın ve bir dosya oluşturun, scikitDemo.py.

Gerekli kütüphaneleri kurun:

pip install scikit-image ironpdf

Sonra IronPDF ve scikit-image Python paketlerinin kullanımını göstermek için aşağıdaki Python kodunu ekleyin.

from skimage import io, filters
from ironpdf import * 

# Apply your license key
License.LicenseKey = "YOUR_LICENSE_KEY"

# Load an image
image = io.imread('image.jpg')

# Apply Gaussian blur
blurred_image = filters.gaussian(image, sigma=1.0)

# Apply Sobel edge detection
edges = filters.sobel(image)

# Save the results to a file
io.imshow_collection([image, blurred_image, edges]).savefig('ironPdf-skimage.png')

# Convert the saved image to a PDF document
ImageToPdfConverter.ImageToPdf("ironPdf-skimage.png").SaveAs("ironPdf-skimage.pdf")

# Display the images
io.show()
from skimage import io, filters
from ironpdf import * 

# Apply your license key
License.LicenseKey = "YOUR_LICENSE_KEY"

# Load an image
image = io.imread('image.jpg')

# Apply Gaussian blur
blurred_image = filters.gaussian(image, sigma=1.0)

# Apply Sobel edge detection
edges = filters.sobel(image)

# Save the results to a file
io.imshow_collection([image, blurred_image, edges]).savefig('ironPdf-skimage.png')

# Convert the saved image to a PDF document
ImageToPdfConverter.ImageToPdf("ironPdf-skimage.png").SaveAs("ironPdf-skimage.pdf")

# Display the images
io.show()
PYTHON

Kod Açıklaması

Bu kod parçası, scikit-image (skimage) ve IronPDF'i birlikte kullanarak bir görüntüyü işlemeyi ve sonuçları bir PDF belgesine dönüştürmeyi gösterir. İşte her bölümün açıklaması:

  1. İthalat Bildirimleri: scikit-image'dan görüntü yükleme ve görüntü filtreleme için gerekli fonksiyonları ithal eder ve IronPDF işlevselliğini ithal eder.

  2. Lisans Anahtarının Uygulanması: IronPDF için lisans anahtarını ayarlar. Bu adım, IronPDF işlevselliklerini kullanmak için gereklidir.

  3. Bir Görüntüyü Yüklemek ve İşlemek: 'image.jpg' isimli görüntüyü scikit-image'ın io.imread işlevi ile yükler. Sonra 1.0 sigma değeri ile filters.gaussian kullanarak yüklenen görüntüye Gauss bulanıklığı uygular ve filters.sobel kullanarak yüklenen görüntüye Sobel kenar algılama uygular.

  4. Sonuçları Gösterme ve Kaydetme: io.imshow_collection([image, blurred_image, edges]).savefig('ironPdf-skimage.png'): Orijinal, bulanık ve kenar görüntülerini bir koleksiyon olarak 'ironPdf-skimage.png''ye kaydeder.

  5. Görüntüyü PDF'ye Dönüştürmek: ImageToPdfConverter.ImageToPdf("ironPdf-skimage.png").SaveAs("ironPdf-skimage.pdf"): Kaydedilen PNG görüntüsünü IronPDF'nin işlevselliğini kullanarak bir PDF belgesine dönüştürür.

  6. Görüntüleri Gösterme: io.show(): Görüntüleri grafiksel bir pencerede gösterir.

Bu kod parçası, görüntü işleme için scikit-image'in yeteneklerini ve işlenmiş görüntüleri PDF belgelerine dönüştürmek için IronPDF'i birleştirir. Bir görüntüyü yükleme, Gauss bulanıklığı ve Sobel kenar algılamayı uygulama, PNG dosyası olarak kaydetme, IronPDF'i kullanarak PNG'yi PDF'e dönüştürme ve işlenmiş görüntüleri gösterme işlemlerini gösterir. Bu entegrasyon, görüntülerin işlenmesi, analiz edilmesi ve PDF formatında belgelendirilmesi gerektiğinde faydalıdır; örneğin bilimsel araştırmalarda, görüntü analizi raporlarında veya otomatik belge oluşturma iş akışlarında.

Çıktı

scikit-image Python (Geliştiriciler İçin Bir Kılavuz: Nasıl Çalışır): Şekil 6 - Görüntü Girdisi

PDF

scikit-image Python (Geliştiriciler İçin Bir Kılavuz: Nasıl Çalışır): Şekil 7 - PDF Çıktısı

IronPDF Lisansı

IronPDF Python için bir lisans anahtarı ile çalışır. IronPDF for Python, satın almadan önce geniş özelliklerini kontrol etmeleri için kullanıcılara ücretsiz deneme lisansı sunar.

Lisans Anahtarını betiğin başında IronPDF paketi'ni kullanmadan önce yerleştirin:

from ironpdf import * 
# Apply your license key
License.LicenseKey = "YOUR_LICENSE_KEY"
from ironpdf import * 
# Apply your license key
License.LicenseKey = "YOUR_LICENSE_KEY"
PYTHON

Sonuç

scikit-image, Python geliştiricilerine görüntüyle ilgili görevleri verimli bir şekilde ele almaları için güç verir. Bilgisayarla görme, tıbbi görüntüleme veya sanatsal projeler üzerinde çalışıyor olsanız da, bu paket sizin ihtiyaçlarınızı karşılar. scikit-image, Python'da görüntü işleme için çok yönlü ve güçlü bir kütüphanedir, filtreleme, segmentasyon, özellik çıkartma ve geometrik dönüşümler gibi görevler için geniş bir fonksiyon ve algoritma yelpazesi sunar. Diğer bilimsel kütüphanelerle sorunsuz entegrasyonu, onu görüntü analizi ve bilgisayarla görme uygulamalarıyla çalışan araştırmacılar, geliştiriciler ve mühendisler için tercih edilen bir seçim haline getirir.

IronPDF, Python uygulamalarında PDF belgelerinin oluşturulmasını, düzenlenmesini ve işlenmesini kolaylaştıran bir Python kütüphanesidir. HTML, resimler veya mevcut PDF'ler gibi çeşitli kaynaklardan PDF dosyaları oluşturma gibi özellikler sunar. Ek olarak, IronPDF belgeleri birleştirme veya ayırma, açıklamalar, filigranlar veya dijital imzalar ekleme, PDF'lerden metin veya resim çıkartma ve metadata ve güvenlik ayarları gibi belge özelliklerini yönetme görevlerini destekler. Bu kütüphane, programatik olarak PDF ile ilgili görevleri yönetmenin verimli bir yolunu sunar, belge oluşturmaya, rapor oluşturmaya veya belge yönetimi işlevselliklerine ihtiyaç duyan uygulamalar için uygundur.

Her iki kütüphane ile birlikte, kullanıcılar görüntülerle çalışabilir, onları verimli bir şekilde işleyebilir ve arşivleme amacıyla sonuçları PDF belgelerine kaydedebilir.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara