PYTHON ヘルプ

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

公開済み 2025年2月26日
共有:

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

はじめに

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

pipによるインストール

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

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

基本例

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

フィルター

import skimage as ski
image = ski.data.coins()  # Load sample image
edges = ski.filters.sobel(image)
ski.io.imshow(edges)
ski.io.show()
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()
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()
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()
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()
PYTHON

出力

scikit-image Python(開発者のためのガイド:仕組み):図4 - 画像ノイズ除去出力

画像処理とNumPy配列についてさらに詳しく知ることができます公式ページ.

IronPDFの紹介

scikit-image Python(動作: 開発者向けガイド): 図5 - IronPDF: Python PDFライブラリ

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

  • HTML から PDF への変換: Chrome PDF レンダラーを使用してウェブページをレンダリングするような機能を活用して、HTML ファイル、HTML 文字列、および URL を 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
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
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()
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'` という名前の画像を読み込みます。 そして、読み込まれた画像に対してシグマ値1.0で`filters.gaussian`を使用してガウシアンブラーを適用します。その後、読み込まれた画像に対して`filters.sobel`を使用してソーベルエッジ検出を適用します。

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

    ImageToPdfConverter.ImageToPdf(ironPdf-skimage.png).SaveAs(ironPdf-skimage.pdf): 保存されたPNG画像を変換します(`'ironPdf-skimage.png'`)IronPDFの`ImageToPdfConverter.ImageToPdf`を使用して画像を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"
PYTHON

結論

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

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

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

リーガン・パン

リーガン・パン

ソフトウェアエンジニア

 LinkedIn

レーガンはリーディング大学で電子工学の学士号を取得しました。Iron Softwareに入社する前の仕事では、一つのタスクに集中して取り組んでいました。Iron Softwareでは、営業、技術サポート、製品開発、マーケティングのいずれにおいても広範な業務に携わることが最も楽しいと感じています。彼は、Iron Softwareライブラリを開発者がどのように使用しているかを理解し、その知識を使ってドキュメントを継続的に改善し、製品を開発することを楽しんでいます。
< 以前
Grakn Python(仕組み:開発者向けガイド)
次へ >
peewee Python((How It Works: A Guide for Developers))