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 resim işleme için tasarlanmış bir algoritma koleksiyonudur. Ücretsiz olarak sunulan ve kısıtlamasız, yüksek kaliteli, gözden geçirilmiş koddan oluşan bir topluluk tarafından desteklenir. Scikit-image projesi, 2009 yılında Stefan van der Walt ve diğer Scikit-image katkıcılarının rehberliğinde Google Summer Code programının bir parçası olarak Google'da başladı. Akademik ve endüstriyel uygulamalar için kullanımı kolay, verimli ve genişletilebilir bir Python kütüphanesi yaratmayı hedefledi. Bu makalede, Scikit-image Python görüntüleme kütüphanesi ve IronSoftware tarafından yapılan IronPDF adlı bir PDF oluşturma kütüphanesi hakkında bilgi edineceğiz.

Başlarken

Scikit-image hakkında bilgi almak için resmi web sitesine göz atın. Ayrıca, Data Carpentry, Python kullanarak resim işleme üzerine harika bir ders sunmaktadır.

pip ile Kurulum

  • En azından 3.10 sürümü kurulu Python'a sahip olduğunuzdan emin olun.
  • Terminal veya komut istemcisini açın.

    • pip'i güncelleyin:
    python -m pip install -U pip
    python -m pip install -U pip
    SHELL
    • pip ile scikit-image'ı kurun:
    python -m pip install -U scikit-image
    python -m pip install -U scikit-image
    SHELL
    • Demo veri setlerine erişmek icin kullanin:
    python -m pip install -U scikit-image[data]
    python -m pip install -U scikit-image[data]
    SHELL
    • Paralel işlem yetenekleri dahil ek bilimsel paketler icin:
    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

Sıkça skimage olarak kısaltı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(), kutuphaneden örnek resimlere erişim saglamak icin kullanilir. skimage.filters, dahili filtrelere ve yardimci fonksiyonlara erişim saglar.

Scikit-image'ın Temel Özellikleri

1. Görüntü Filtreleme ve Kenar Algılama

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 (Nasıl Çalışır: Geliştiriciler için Bir Kılavuz): Şekil 1 - Resim Filtreleme ve Kenar Algılama Çıktısı

2. HOG (Yönlendirilmiş Gradientlerin Histogramı) 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 (Nasıl Çalışır: Geliştiriciler için Bir Kılavuz): Şekil 2 - Özellik Çıkarım Çı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 (Nasıl Çalışır: Geliştiriciler için Bir Kılavuz): Şekil 3 - Geometrik Dönüşüm Çıktısı

4. Total 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 (Nasıl Çalışır: Geliştiriciler için Bir Kılavuz): Şekil 4 - Görüntü Gürültü Azaltma Çıktısı

Görüntü işleme ve NumPy dizileri hakkında daha fazla bilgiyi resmi sayfada bulabilirsiniz.

IronPDF'i Tanıtımı

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

IronPDF, HTML, CSS, görüntüler ve JavaScript kullanarak PDF belgelerini oluşturma, düzenleme ve imzalama işlemlerini yönetmek için tasarlanmış sağlam bir Python kütüphanesidir. Performans verimliliğini önceliklendirir ve minimum bellek kullanımı ile çalışır. Ana özellikler şunlardır:

  • HTML'den PDF'e Dönüşüm: HTML dosyalarını, HTML metinlerini ve URL'leri PDF belgelerine dönüştürür, Chrome PDF renderlayıcı gibi yeteneklerden yararlanır.

  • Çapraz Platform Desteği: Windows, Mac, Linux ve çeşitli Bulut Platformları üzerinde Python 3+ ile uyumludur. IronPDF, .NET, Java, Python ve Node.js ortamları için de mevcuttur.

  • Düzenleme ve İmzalama: PDF özelliklerini özelleştirir, şifre ve izin gibi güvenlik önlemleri uygular ve dijital imzaları sorunsuzca uygular.

  • Sayfa Şablonları ve Ayarları: Başlıklar, altbilgiler, sayfa numaraları, ayarlanabilir kenar boşlukları, özel kağıt boyutları ve duyarlı tasarımlar gibi özelliklerle PDF düzenlerini oluşturur.

  • Standartlara Uyumluluk: 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 
pip install scikit-image
pip install ironpdf 
pip install scikit-image
SHELL

IronPDF ve Scikit Image Kullanarak PDF Belgeleri Üretme

Önkoşullar

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

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

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

Gerekli kitaplıkları yükleyin:

pip install scikit-image
pip install ironpdf
pip install scikit-image
pip install ironpdf
SHELL

Daha 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çacığı, bir resmi işlemek ve sonuçları bir PDF belgesine dönüştürmek için scikit-image (skimage) ve IronPDF'in birlikte nasıl kullanılacağını gösterir. İşte her bir kısmın açıklaması:

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

  2. Lisans Anahtarını Uygulama: IronPDF için lisans anahtarını ayarlar. IronPDF işlevlerini kullanmak için bu adım gereklidir.

  3. Bir Görüntü Yükleme ve İşleme: scikit-image'in io.imread fonksiyonunu kullanarak 'image.jpg' adında bir görüntü yükler. Ardından yüklenen görüntüye 1.0 sigma değeri ile Gaussian bulanıklığı uygular ve elde edilen görüntüye filters.sobel kullanarak Sobel kenar algılama uygular.

  4. Sonuçların Göruntulenmesi ve Kaydedilmesi: io.imshow_collection([image, blurred_image, edges]).savefig('ironPdf-skimage.png'): Bir görüntü koleksiyonunu (orijinal, bulanık, kenarlar) 'ironPdf-skimage.png' olarak kaydeder.

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

  6. Görüntülerin Görüntülenmesi: io.show(): Görüntüleri grafiksel bir pencerede göruntuler.

Bu kod parçası, görüntü işleme için scikit-image ve işlenmiş görüntüleri PDF belgesine dönüştürmek için IronPDF'in kabiliyetlerini birleştirir. Bir görüntüyü yüklemeyi, Gauss bulanıklığı ve Sobel kenar algılamayı uygulamayı, onları PNG dosyası olarak kaydetmeyi, PNG'yi IronPDF kullanarak PDF'e dönüştürmeyi ve işlenmiş görüntüleri görüntülemeyi gösterir. Bu entegrasyon, bilimsel araştırma, görüntü analizi raporları veya otomatik belge oluşturma iş akışları gibi görevlerde görüntülerin işlenmesi, analiz edilmesi ve PDF formatında belgelenmesi gereken görevler için kullanışlıdır.

Çıktı

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

PDF

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

IronPDF Lisansı

IronPDF Python için bir lisans anahtarı üzerinde çalışır. IronPDF for Python, satın almadan önce kullanıcıların geniş özelliklerini incelemelerine olanak sağlamak için bir ücretsiz deneme lisansı sunar.

IronPDF paketi kullanmadan önce scriptin başına Lisans Anahtarını 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ü ile ilgili görevleri verimli bir şekilde halletme yetkisi verir. Bilgisayarla görü, 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, görüntü işleme için geniş bir işlev ve algoritma yelpazesi sunan, Python'da görüntü işleme için çok yönlü ve güçlü bir kütüphanedir. Filtreleme, segmentasyon, özellik çıkarma ve geometrik dönüşümler gibi görevler için işlevler sunar. Diğer bilimsel kütüphanelerle sorunsuz entegrasyonu onu görüntü analizi ve bilgisayarla görü uygulamaları üzerinde çalışan araştırmacılar, geliştiriciler ve mühendisler için tercih edilen bir seçim haline getirir.

IronPDF, Python uygulamaları içinde PDF belgelerinin yaratılmasını, düzenlenmesini ve yönetilmesini kolaylaştıran bir Python kütüphanesidir. HTML, görüntüler veya mevcut PDF'ler gibi çeşitli kaynaklardan PDF dosyaları oluşturma özellikleri sunar. Ek olarak, IronPDF, PDF belgelerini birleştirme veya ayırma, açıklamalar ekleme, filigranlar veya dijital imzalar uygulama, PDF'lerden metin veya görüntü çıkarma ve belge özelliklerini (metadata ve güvenlik ayarları gibi) yönetme gibi görevleri destekler. Bu kütüphane, belge nesli, rapor oluşturma veya belge yönetimine ihtiyaç duyan uygulamalar için uygun hale getiren programatik olarak PDF ile ilgili görevleri yönetmenin verimli bir yolunu sağlar.

Bu iki kütüphane ile birlikte, kullanıcılar görüntülerle çalışabilir, onları etkili 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 sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku

Iron Destek Ekibi

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