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 pippython -m pip install -U pipSHELL- pip ile scikit-image'ı kurun:
python -m pip install -U scikit-imagepython -m pip install -U scikit-imageSHELL- 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()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()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()Çıktı

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()Çıktı

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()Çıktı

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()Çıktı

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

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-imagepip install ironpdf
pip install scikit-imageIronPDF ve Scikit Image Kullanarak PDF Belgeleri Üretme
Önkoşullar
- Kod editörü olarak Visual Studio Code'un yüklü olduğundan emin olun
- 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 ironpdfpip install scikit-image
pip install ironpdfDaha 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()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ı:
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.
Lisans Anahtarını Uygulama: IronPDF için lisans anahtarını ayarlar. IronPDF işlevlerini kullanmak için bu adım gereklidir.
Bir Görüntü Yükleme ve İşleme: scikit-image'in
io.imreadfonksiyonunu 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üyefilters.sobelkullanarak Sobel kenar algılama uygular.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.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.- 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ı


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"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.










