skimage.io#

画像と動画の読み込みおよび保存。

concatenate_images

画像コレクション内のすべての画像を1つの配列に連結します。

imread

ファイルから画像をロードします。

imread_collection

画像のコレクションをロードします。

imread_collection_wrapper

imsave

画像をファイルに保存します。

load_sift

外部で生成されたファイルからSIFTまたはSURFの特徴を読み込みます。

load_surf

外部で生成されたファイルからSIFTまたはSURFの特徴を読み込みます。

pop

共有画像スタックから画像をポップします。

push

共有画像スタックに画像をプッシュします。

ImageCollection

画像ファイルのコレクションをロードして管理します。

MultiImage

マルチフレームTIFF画像からのすべてのフレームを含むクラス。


skimage.io.concatenate_images(ic)[ソース]#

画像コレクション内のすべての画像を1つの配列に連結します。

パラメータ:
ic画像の反復可能オブジェクト

連結する画像。

戻り値:
array_catndarray

ic内の画像よりも1つ次元が多い配列。

例外:
ValueError

ic内の画像の形状が同一でない場合。

注釈

concatenate_imagesは、ImageCollectionやMultiImageを含む、画像を含む任意の反復可能オブジェクトを受け取り、NumPy配列を返します。


skimage.io.imread(fname, as_gray=False, plugin=<非推奨>, **plugin_args)[ソース]#

ファイルから画像をロードします。

パラメータ:
fnamestr または pathlib.Path

画像ファイル名。例: test.jpg または URL。

as_graybool, optional

Trueの場合、カラー画像をグレースケール(64ビット浮動小数点数)に変換します。すでにグレースケール形式の画像は変換されません。

戻り値:
img_arrayndarray

異なるカラーバンド/チャネルは3次元に格納されます。したがって、グレースケール画像はMxN、RGB画像はMxNx3、RGBA画像はMxNx4になります。

その他のパラメータ:
plugin_args非推奨

プラグインインフラストラクチャは非推奨です。

plugin非推奨

pluginは非推奨です。

バージョン0.25以降非推奨。


skimage.io.imread_collection(load_pattern, conserve_memory=True, plugin=<非推奨>, **plugin_args)[ソース]#

画像のコレクションをロードします。

パラメータ:
load_patternstr または list

ロードするオブジェクトのリスト。これらは通常ファイル名ですが、現在アクティブなプラグインによって異なる場合があります。このパラメーターのデフォルトの動作については、ImageCollectionを参照してください。

conserve_memorybool, optional

Trueの場合、特定の時間にメモリに複数保持しません。それ以外の場合、画像はロードされるとキャッシュされます。

戻り値:
icImageCollection

画像のコレクション。

その他のパラメータ:
plugin_args非推奨

プラグインインフラストラクチャは非推奨です。

plugin非推奨

pluginは非推奨です。

バージョン0.25以降非推奨。


skimage.io.imread_collection_wrapper(imread)[ソース]#

skimage.io.imsave(fname, arr, plugin=<非推奨>, *, check_contrast=True, **plugin_args)[ソース]#

画像をファイルに保存します。

パラメータ:
fnamestr または pathlib.Path

ターゲットファイル名。

arr(M,N) または (M,N,3) または (M,N,4) の形状のndarray

画像データ。

check_contrastbool, optional

コントラストが低いかどうかを確認して警告を出力します(デフォルト:True)。

その他のパラメータ:
plugin_args非推奨

プラグインインフラストラクチャは非推奨です。

plugin非推奨

pluginは非推奨です。

バージョン0.25以降非推奨。


skimage.io.load_sift(f)[ソース]#

外部で生成されたファイルからSIFTまたはSURFの特徴を読み込みます。

このルーチンは、http://people.cs.ubc.ca/~lowe/keypoints/ および http://www.vision.ee.ethz.ch/~surf/ のバイナリユーティリティによって生成されたSIFTまたはSURFファイルを読み取ります。

このルーチンは、画像からSIFT/SURF特徴を生成しません。これらのアルゴリズムは特許で保護されています。代わりにskimage.feature.CENSUREを使用してください。

パラメータ:
filelike文字列または開いているファイル

http://people.cs.ubc.ca/~lowe/keypoints/ または http://www.vision.ee.ethz.ch/~surf/ からの特徴検出器によって生成された入力ファイル。

mode{‘SIFT’, ‘SURF’}, optional

filelikeの生成に使用された記述子の種類。

戻り値:
data以下のフィールドを持つレコード配列
  • row: int

    特徴の行位置

  • column: int

    特徴の列位置

  • scale: float

    特徴のスケール

  • orientation: float

    特徴の向き

  • data: array

    特徴値


skimage.io.load_surf(f)[ソース]#

外部で生成されたファイルからSIFTまたはSURFの特徴を読み込みます。

このルーチンは、http://people.cs.ubc.ca/~lowe/keypoints/ および http://www.vision.ee.ethz.ch/~surf/ のバイナリユーティリティによって生成されたSIFTまたはSURFファイルを読み取ります。

このルーチンは、画像からSIFT/SURF特徴を生成しません。これらのアルゴリズムは特許で保護されています。代わりにskimage.feature.CENSUREを使用してください。

パラメータ:
filelike文字列または開いているファイル

http://people.cs.ubc.ca/~lowe/keypoints/ または http://www.vision.ee.ethz.ch/~surf/ からの特徴検出器によって生成された入力ファイル。

mode{‘SIFT’, ‘SURF’}, optional

filelikeの生成に使用された記述子の種類。

戻り値:
data以下のフィールドを持つレコード配列
  • row: int

    特徴の行位置

  • column: int

    特徴の列位置

  • scale: float

    特徴のスケール

  • orientation: float

    特徴の向き

  • data: array

    特徴値


skimage.io.pop()[ソース]#

共有画像スタックから画像をポップします。

戻り値:
imgndarray

スタックからポップされた画像。


skimage.io.push(img)[ソース]#

共有画像スタックに画像をプッシュします。

パラメータ:
imgndarray

プッシュする画像。

class skimage.io.ImageCollection(load_pattern, conserve_memory=True, load_func=None, **load_func_kwargs)[ソース]#

ベース: object

画像ファイルのコレクションをロードして管理します。

パラメータ:
load_patternstr または str のリスト

ロードするパターン文字列または文字列のリスト。ファイル名パスは絶対パスまたは相対パスにすることができます。

conserve_memorybool, optional

Trueの場合、skimage.io.ImageCollectionは特定の時間にメモリに複数保持しません。それ以外の場合、画像はロードされるとキャッシュされます。

属性:
filesstr のリスト

パターン文字列がload_patternに指定されている場合、この属性は展開されたファイルリストを格納します。それ以外の場合は、load_patternと同じです。

その他のパラメータ:
load_funccallable

デフォルトではimread。以下の注釈を参照してください。

**load_func_kwargsdict

その他のキーワード引数はすべてload_funcに渡されます。

注釈

ファイルは常にアルファベット順で返されることに注意してください。また、スライスは新しいskimage.io.ImageCollectionを返し、データへのビューを返さないことに注意してください。

ImageCollection の画像読み込みは、load_func を通じてカスタマイズできます。ImageCollection ic において、ic[5] はその画像を読み込むために load_func(load_pattern[5]) を呼び出します。

例えば、提供された各ビデオについて、2フレームごとに読み込む ImageCollection は次のようになります。

import imageio.v3 as iio3
import itertools

def vidread_step(f, step):
    vid = iio3.imiter(f)
    return list(itertools.islice(vid, None, None, step)

video_file = 'no_time_for_that_tiny.gif'
ic = ImageCollection(video_file, load_func=vidread_step, step=2)

ic  # is an ImageCollection object of length 1 because 1 video is provided

x = ic[0]
x[5]  # the 10th frame of the first video

あるいは、load_func が提供され、load_pattern がシーケンスの場合、対応する長さの skimage.io.ImageCollection が作成され、個々の画像は load_funcload_pattern の対応する要素を最初の引数として呼び出すことで読み込まれます。この場合、シーケンスの要素は既存のファイル名(または文字列)である必要はありません。例えば、動画から500枚の画像を含む skimage.io.ImageCollection を作成するには、以下のようにします。

class FrameReader:
    def __init__ (self, f):
        self.f = f
    def __call__ (self, index):
        return iio3.imread(self.f, index=index)

ic = ImageCollection(range(500), load_func=FrameReader('movie.mp4'))

ic  # is an ImageCollection object of length 500

load_func の別の使用法として、すべての画像を uint8 に変換することが挙げられます。

def imread_convert(f):
    return imread(f).astype(np.uint8)

ic = ImageCollection('/tmp/*.png', load_func=imread_convert)

サンプル

>>> import imageio.v3 as iio3
>>> import skimage.io as io

# 画像の場所 >>> data_dir = os.path.join(os.path.dirname(__file__), ‘../data’)

>>> coll = io.ImageCollection(data_dir + '/chess*.png')
>>> len(coll)
2
>>> coll[0].shape
(200, 200)
>>> image_col = io.ImageCollection([f'{data_dir}/*.png', '{data_dir}/*.jpg'])
>>> class MultiReader:
...     def __init__ (self, f):
...         self.f = f
...     def __call__ (self, index):
...         return iio3.imread(self.f, index=index)
...
>>> filename = data_dir + '/no_time_for_that_tiny.gif'
>>> ic = io.ImageCollection(range(24), load_func=MultiReader(filename))
>>> len(image_col)
23
>>> isinstance(ic[0], np.ndarray)
True
__init__(load_pattern, conserve_memory=True, load_func=None, **load_func_kwargs)[ソース]#

画像のコレクションをロードおよび管理します。

concatenate()[ソース]#

コレクション内のすべての画像を配列に連結します。

戻り値:
arnp.ndarray

self 内の画像よりも1つ多い次元を持つ配列。

例外:
ValueError

skimage.io.ImageCollection 内の画像が同一の形状を持たない場合。

property conserve_memory#
property files#
reload(n=None)[ソース]#

画像キャッシュをクリアします。

パラメータ:
nNone または int

この画像のみのキャッシュをクリアします。デフォルトでは、キャッシュ全体が消去されます。

class skimage.io.MultiImage(filename, conserve_memory=True, dtype=None, **imread_kwargs)[ソース]#

ベース: ImageCollection

マルチフレームTIFF画像からのすべてのフレームを含むクラス。

パラメータ:
load_patternstr または str のリスト

ロードするパターン glob またはファイル名。パスは絶対パスまたは相対パスにできます。

conserve_memorybool, optional

単一の画像のフレームのみをキャッシュすることでメモリを節約するかどうか。デフォルトはTrueです。

注釈

MultiImage は、画像データ配列のリストを返します。この点で、ImageCollection と非常によく似ていますが、両者はマルチフレーム画像の扱い方が異なります。

サイズ WxH の N フレームを含む TIFF 画像の場合、MultiImage は、その画像のすべてのフレームを形状 (N, W, H) の単一の要素としてリストに保存します。ImageCollection は代わりに、形状 (W, H) の N 個の要素を作成します。

アニメーション GIF 画像の場合、MultiImage は最初のフレームのみを読み取りますが、ImageCollection はデフォルトですべてのフレームを読み取ります。

サンプル

# 画像の場所 >>> data_dir = os.path.join(os.path.dirname(__file__), ‘../data’)

>>> multipage_tiff = data_dir + '/multipage.tif'
>>> multi_img = MultiImage(multipage_tiff)
>>> len(multi_img)  # multi_img contains one element
1
>>> multi_img[0].shape  # this element is a two-frame image of shape:
(2, 15, 10)
>>> image_col = ImageCollection(multipage_tiff)
>>> len(image_col)  # image_col contains two elements
2
>>> for frame in image_col:
...     print(frame.shape)  # each element is a frame of shape (15, 10)
...
(15, 10)
(15, 10)
__init__(filename, conserve_memory=True, dtype=None, **imread_kwargs)[ソース]#

マルチイメージをロードします。

concatenate()[ソース]#

コレクション内のすべての画像を配列に連結します。

戻り値:
arnp.ndarray

self 内の画像よりも1つ多い次元を持つ配列。

例外:
ValueError

skimage.io.ImageCollection 内の画像が同一の形状を持たない場合。

property conserve_memory#
property filename#
property files#
reload(n=None)[ソース]#

画像キャッシュをクリアします。

パラメータ:
nNone または int

この画像のみのキャッシュをクリアします。デフォルトでは、キャッシュ全体が消去されます。