skimage.io
#
画像と動画の読み込みおよび保存。
画像コレクション内のすべての画像を1つの配列に連結します。 |
|
ファイルから画像をロードします。 |
|
画像のコレクションをロードします。 |
|
画像をファイルに保存します。 |
|
外部で生成されたファイルからSIFTまたはSURFの特徴を読み込みます。 |
|
外部で生成されたファイルからSIFTまたはSURFの特徴を読み込みます。 |
|
共有画像スタックから画像をポップします。 |
|
共有画像スタックに画像をプッシュします。 |
|
画像ファイルのコレクションをロードして管理します。 |
|
マルチフレーム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の場合、特定の時間にメモリに複数保持しません。それ以外の場合、画像はロードされるとキャッシュされます。
- 戻り値:
- ic
ImageCollection
画像のコレクション。
- ic
- その他のパラメータ:
- plugin_args非推奨
プラグインインフラストラクチャは非推奨です。
- plugin非推奨
plugin
は非推奨です。バージョン0.25以降非推奨。
- 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
特徴値
- 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
を通じてカスタマイズできます。ImageCollectionic
において、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_func
をload_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#
- 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)
- concatenate()[ソース]#
コレクション内のすべての画像を配列に連結します。
- 戻り値:
- arnp.ndarray
self
内の画像よりも1つ多い次元を持つ配列。
- 例外:
- ValueError
skimage.io.ImageCollection
内の画像が同一の形状を持たない場合。
- property conserve_memory#
- property filename#
- property files#