PYTHON ヘルプ

scikit-image Python(開発者向けのガイド:その仕組み)

Scikit-imageは、Pythonでの画像処理を目的としたアルゴリズムのコレクションです。 それは自由に利用でき、制限がなく、活発なボランティアコミュニティからの高品質でピアレビューされたコードを誇っています。 Scikit-imageプロジェクトは、2009年にGoogleサマーコードプログラムの一環として、Stefan van der Walt氏および他のScikit-imageの貢献者の指導の下でGoogleで開始されました。 それは、学術的および産業的な用途のために、使いやすく、効率的で、拡張可能な画像処理のためのPythonライブラリを作成することを目的としていました。 この記事では、Scikit-imageというPython画像ライブラリと、IronSoftwareのPDF生成ライブラリであるIronPDFについて学びます。

はじめに

Scikit-imageについて学ぶには、公式ウェブサイトをチェックしてください。さらに、Data CarpentryはScikitを使用したPythonでの画像処理に関する優れたレッスンを提供しています。

pipによるインストール

  • Python(バージョン3.10以上)がインストールされていることを確認してください。
  • ターミナルまたはコマンドプロンプトを開いてください。

    • pipを更新する:
python -m pip install -U pip
py
PYTHON
  • pipまたはscikit-image conda経由でscikit-imageをインストールします。
python -m pip install -U scikit-image
py
PYTHON
  • デモデータセットにアクセスするには、次を使用してください:
python -m pip install -U scikit-image[data]
py
PYTHON
  • 並列処理機能を含む追加の科学的パッケージについては:
python -m pip install -U scikit-image[optional]
py
PYTHON

基本例

import skimage.io
import matplotlib.pyplot as plt
image = skimage.io.imread(fname='land.jpg')
plt.imshow(image) # show binary image
plt.show()
py
PYTHON

フィルター

import skimage as ski
image = ski.data.coins()  # Load sample image
edges = ski.filters.sobel(image)
ski.io.imshow(edges)
ski.io.show()
py
PYTHON

Scikit-image、しばしば skimage と略される、は画像処理タスクのための強力な Python ライブラリです。 これは、NumPy 配列、SciPy、および matplotlib を基に構築されており、画像を操作および分析するためのさまざまな関数とアルゴリズムを提供します。 skimage import data コインを使用すると、ライブラリからサンプル画像にアクセスできます。 skimage import filters を使用して、組み込みフィルターとユーティリティ関数にアクセスできます。

Scikit-imageの主な機能

画像フィルタリングとエッジ検出

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()
py
PYTHON

出力

scikit-image Python(仕組み: 開発者向けガイド):図1 - イメージフィルタリングとエッジ検出出力

2. HOG(傾斜ヒストグラム)を用いた特徴抽出

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
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()
py
PYTHON

出力

scikit-image Python(その仕組み:開発者向けガイド):図2 - 特徴抽出出力

3. 幾何学的変換 - サイズ変更と回転

from skimage import io, transform
# Load an image
image = io.imread('image.jpg')
# Resize image
resized_image = transform.resize(image, (image.shape[0] // 2, image.shape[1] // 2))
# Rotate image
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()
py
PYTHON

出力

scikit-image Python(仕組み:開発者向けガイド):図3 - 幾何変換出力

4. 全変動フィルタによる画像ノイズ除去

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()
py
PYTHON

出力

scikit-image Python(動作方法:開発者向けガイド):図4 - 画像のノイズ除去出力

画像処理やNumPy配列についての詳細は、公式ページで見つけることができます。

IronPDFの紹介

scikit-image Python(動作の仕組み: 開発者向けガイド):図5 - IronPDF: The Python PDF Library

IronPDFはHTML、CSS、画像、JavaScriptを使ってPDF文書の作成、編集、署名を行うために設計された堅牢なPythonライブラリです。 パフォーマンス効率を優先し、最小限のメモリ使用で動作する。 主要な機能には次のものが含まれます:

  • HTMLからPDFへの変換: HTMLファイル、HTML文字列、URLをPDFドキュメントに変換し、ChromeのPDFレンダラーを使用してウェブページをレンダリングする機能を活用します。
  • クロスプラットフォームサポート: Windows、Mac、Linux、さまざまなクラウドプラットフォームで動作するPython 3+ に対応。 IronPDFは.NET、Java、Python、Node.js環境でもアクセス可能です。
  • 編集と署名: PDFプロパティをカスタマイズし、パスワードや権限などのセキュリティ対策を施し、デジタル署名をシームレスに適用します。
  • ページテンプレートと設定: ヘッダー、フッター、ページ番号、調整可能な余白、カスタム用紙サイズ、レスポンシブデザインなどの機能を使用してPDFレイアウトを作成します。
  • 標準準拠: PDF/A および PDF/UA などのPDF標準に厳格に準拠し、UTF-8文字エンコーディングの互換性を保証し、画像、CSSスタイルシート、フォントなどのアセットを巧みに管理します。

インストール

pip install ironpdf 
pip install scikit-image
py
PYTHON

IronPDFとScikit Imageを使用してPDFドキュメントを生成する

前提条件

  1. コードエディターとしてVisual Studio Codeがインストールされていることを確認してください

  2. Pythonバージョン3がインストールされている。

    まず始めに、スクリプトを追加するためのPythonファイルを作成しよう。

    Visual Studio Code を開き、ファイル scikitDemo.py を作成します。

    必要なライブラリをインストールする:

pip install scikit-image
pip install ironpdf
py
PYTHON

次に、IronPDFとscikit-image Pythonパッケージの使用法を示すために、以下のPythonコードを追加します。

from skimage import io, filters
from ironpdf import * 
# Apply your license key
License.LicenseKey = "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)
# Display the original image, blurred image, and edges
io.imshow_collection([image, blurred_image, edges]).savefig('ironPdf-skimage.png')
ImageToPdfConverter.ImageToPdf("ironPdf-skimage.png").SaveAs("ironPdf-skimage.pdf")
io.show()
py
PYTHON

コードの説明

このコードスニペットは、scikit-image(skimage\)とIronPDFを一緒に使って画像を処理し、その結果をPDFドキュメントに変換する方法を示しています。 各部分の説明は次のとおりです:

  1. インポートステートメント:必要な関数をscikit-imageからインポートし、画像読み込み(io.imread)および画像フィルタリング(filters.gaussianfilters.sobel)を行い、IronPDFの機能をインポートします。

  2. ライセンスキーの適用: License.LicenseKey = "Key": IronPDFのライセンスキーを設定します。 この手順は、IronPDFの機能を使用するために必要です。3. 画像の読み込みと処理: scikit-imageの`io.imread`関数を使用して、`'image.jpg'`という名前の画像を読み込みます。 その後、`filters.gaussian`を使用して、シグマ値1.0で読み込んだ画像にガウスぼかしを適用します。その後、`filters.sobel`を使用して読み込んだ画像にソーベルエッジ検出を適用します。

  3. 結果の表示と保存: io.imshow_collection([image, blurred_image, edges]).savefig('ironPdf-skimage.png'): `io.imshow_collection` を使用して画像のコレクション(オリジナル、ぼかし、エッジ)を表示し、表示されたコレクションを `'ironPdf-skimage.png'` として保存します。

    ImageToPdfConverter.ImageToPdf("ironPdf-skimage.png").SaveAs("ironPdf-skimage.pdf"): IronPDFの`ImageToPdfConverter.ImageToPdf`を使用して、保存されたPNG画像(`'ironPdf-skimage.png'`)をPDFドキュメントに変換し、`'ironPdf-skimage.pdf'`として保存します。5. 画像の表示: io.show(): グラフィカルウィンドウで画像を表示します。

    このコードスニペットは、画像処理用のscikit-imageの機能と処理された画像をPDFドキュメントに変換するIronPDFの機能を組み合わせています。 これは、画像の読み込み、ガウシアンぼかしとソーベルエッジ検出の適用、結果の表示、PNGファイルとして保存、IronPDFを使用してPNGをPDFに変換し、処理された画像を表示することを示しています。 この統合は、科学研究、画像解析レポート、または自動ドキュメント生成ワークフローのように、画像を処理、解析してPDF形式で文書化する必要があるタスクに役立ちます。

出力

scikit-image Python(作動方式:開発者向けガイド):図6 - 画像入力

PDF

scikit-image Python(動作の仕組み: 開発者ガイド):図7 - PDF出力

IronPDFライセンス

IronPDFはPythonのライセンスキーで動作します。 IronPDF for Python は、購入前にその豊富な機能を確認するために、無料トライアルライセンスキーを提供しています。

ライセンスキーをスクリプトの先頭に配置し、IronPDF パッケージを使用する前に設定してください。

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

結論

scikit-image は、Python 開発者が画像関連のタスクを効率的に処理することを可能にします。 コンピュータビジョン、医療イメージング、または芸術的なプロジェクトに取り組んでいるかどうかにかかわらず、このパッケージはあなたをサポートします。 scikit-imageは、Pythonにおける画像処理のための多機能で強力なライブラリであり、フィルタリング、セグメンテーション、特徴抽出、幾何学的変換などのタスクに対応する多様な関数やアルゴリズムを提供します。 他の科学ライブラリとのシームレスな統合により、画像解析やコンピュータビジョンアプリケーションで作業する研究者、開発者、エンジニアにとって好ましい選択肢となっています。

IronPDFは、Pythonアプリケーション内でPDFドキュメントの作成、編集、および操作を容易にするPythonライブラリです。 HTML、画像、既存のPDFなど、さまざまなソースからPDFファイルを生成する機能を提供します。 さらに、IronPDFはPDFドキュメントの結合や分割、注釈、透かし、デジタル署名の追加、PDFからのテキストや画像の抽出、メタデータやセキュリティ設定などのドキュメントプロパティの管理といったタスクをサポートしています。 このライブラリは、プログラムでPDF関連のタスクを効率的に処理する方法を提供し、ドキュメント生成、レポート作成、またはドキュメント管理機能を必要とするアプリケーションに適しています。

どちらのライブラリと共に、ユーザーは画像の操作、効率的な処理、アーカイブ目的のためにPDF文書に結果を保存することができます。

チャクニット・ビン
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeで作業しています。彼はC#と.NETに深い専門知識を持ち、ソフトウェアの改善と顧客サポートを支援しています。ユーザーとの対話から得た彼の洞察は、より良い製品、文書、および全体的な体験に貢献しています。
< 以前
Grakn Python(仕組み:開発者向けガイド)
次へ >
peewee Python((How It Works: A Guide for Developers))