Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

多次元配列としてのイメージ シーケンスの使用

イメージ シーケンスを表す多次元配列の作成

多次元配列は、イメージ シーケンスを表示および処理するための便利な手段です。イメージ シーケンスの個々のイメージを連結することにより、多次元配列を作成します。各イメージは同じサイズでなければならず、同じ数のカラー チャネルをもっていなければなりません。インデックス付きイメージのシーケンスを格納する場合、各イメージは同じカラーマップを使用しなければなりません。

  • 2 次元グレースケール イメージ、バイナリ イメージ、またはインデックス付きイメージのシーケンスがある場合、3 番目の次元でイメージを連結し、サイズが m x n x p の 3 次元配列を作成します。p 個の各イメージのサイズが mn 列です。

  • 2 次元 RGB イメージのシーケンスがある場合、4 番目の次元に沿ってイメージを連結し、サイズが m x n x 3 x p の 4 次元配列を作成します。p 個のイメージのサイズが m x n x 3 です。

次の図は、3 次元配列の平面として連結される 2 次元イメージを示しています。

関数 cat を使用して、個々のイメージを連結します。たとえば、次のコードは、4 番目の次元に沿って RGB イメージのグループを連結します。

A = cat(4,A1,A2,A3,A4,A5)

メモ

一部の関数は、"マルチフレーム" 配列と呼ばれる特定の種類の多次元配列を使用します。マルチフレーム配列では、イメージに含まれるカラー チャネルの数に関係なく、4 番目の次元に沿ってイメージが連結されます。グレースケール イメージ、バイナリ イメージ、またはインデックス付きイメージのマルチフレーム配列のサイズは、m x n x 1 x p です。グレースケール イメージのマルチフレーム配列を他のツールボックス関数で使用するために 3 次元配列に変換する必要がある場合は、関数 squeeze を使用して大きさが 1 の次元を削除できます。

イメージ シーケンスの表示

イメージ シーケンスを表示するには、いくつかの方法があります。一度に 1 フレームずつ表示するには、イメージ ビューアー アプリまたは imshow を使用します。イメージ シーケンス内のすべてのフレームを同時に表示するには、関数 montage を使用します。

イメージ シーケンスをアニメーション化したり、シーケンス内でナビゲーションを提供したりするには、ビデオ ビューアー アプリ (implay) を使用します。ビデオ ビューアー アプリの再生制御を使用すると、シーケンス内のフレーム間をナビゲートできます。

イメージ シーケンスの処理

ツールボックス関数の多くは、多次元配列に使用できます。そのため、イメージ シーケンスにも使用できます。たとえば、多次元配列を関数 imtransform に渡した場合、同じ 2 次元変換が、より高い次元に沿って、すべての 2 次元平面に適用されます。

ただし、多次元配列を受け入れる一部のツールボックス関数は、既定の設定では m × n × p 配列または m × n × 3 × p 配列をイメージ シーケンスとして解釈しません。イメージ シーケンスにこれらの関数を使用するには、特定の構文を使用しなければなりません。また、他の制限が設定されることにも注意してください。次の表は、これらのツールボックス関数をまとめており、これらを使用してイメージ シーケンスを処理する方法のガイドラインを提供します。

関数

イメージ シーケンスの次元

イメージ シーケンスに使用する場合のガイドライン

bwlabeln

m × n × p のみ

2 次元連結性には bwlabeln(BW,conn) 構文を使用しなければなりません。

deconvblind

m × n × p または
m × n × 3 × p

PSF 引数には 1 次元または 2 次元を指定できます。

deconvlucy

m × n × p または
m × n × 3 × p

PSF 引数には 1 次元または 2 次元を指定できます。

edgetaper

m × n × p または
m × n × 3 × p

PSF 引数には 1 次元または 2 次元を指定できます。

entropyfilt

m × n × p のみ

nhood 引数は 2 次元でなければなりません。

imabsdiff

m × n × p または
m × n × 3 × p

イメージ シーケンスのサイズは同じでなければなりません。

imadd

m × n × p または
m × n × 3 × p

イメージ シーケンスのサイズは同じでなければなりません。スカラーをイメージ シーケンスに追加することはできません。

imbothat

m × n × p のみ

SE 引数は 2 次元でなければなりません。

imclose

m × n × p のみ

SE 引数は 2 次元でなければなりません。

imdilate

m × n × p のみ

SE 引数は 2 次元でなければなりません。

imdivide

m × n × p または
m × n × 3 × p

イメージ シーケンスのサイズは同じでなければなりません。

imerode

m × n × p のみ

SE 引数は 2 次元でなければなりません。

imextendedmax

m × n × p のみ

2 次元連結性には imextendedmax(I,h,conn) 構文を使用しなければなりません。

imextendedmin

m × n × p のみ

2 次元連結性には imextendedmin(I,h,conn) 構文を使用しなければなりません。

imfilter

m × n × p または
m × n × 3 × p

グレースケール イメージの場合、h には 2 次元を指定できます。トゥルーカラー イメージ (RGB) の場合、h には 2 次元または 3 次元を指定できます。

imhmax

m × n × p のみ

2 次元連結性には imhmax(I,h,conn) 構文を使用しなければなりません。

imhmin

m × n × p のみ

2 次元連結性には imhmin(I,h,conn) 構文を使用しなければなりません。

imlincomb

m × n × p または
m × n × 3 × p

イメージ シーケンスのサイズは同じでなければなりません。

immultiply

m × n × p または
m × n × 3 × p

イメージ シーケンスのサイズは同じでなければなりません。

imopen

m × n × p のみ

SE 引数は 2 次元でなければなりません。

imregionalmax

m × n × p のみ

2 次元連結性には imextendedmax(I,conn) 構文を使用しなければなりません。

imregionalmin

m × n × p のみ

2 次元連結性には imextendedmin(I,conn) 構文を使用しなければなりません。

imsubtract

m × n × p または
m × n × 3 × p

イメージ シーケンスのサイズは同じでなければなりません。

imtophat

m × n × p のみ

SE 引数は 2 次元でなければなりません。

imwarp

m × n × p または
m × n × 3 × p

TFORM 引数は 2 次元でなければなりません。

padarray

m × n × p または
m × n × 3 × p

PADSIZE 引数は 2 要素ベクトルでなければなりません。

rangefilt

m × n × p のみ

NHOOD 引数は 2 次元でなければなりません。

stdfilt

m × n × p のみ

NHOOD 引数は 2 次元でなければなりません。

tformarray

m × n × p または
m × n × 3 × p

  • T は 2 次元対 2 次元でなくてはなりません (imtransform と互換)。

  • R は 2 次元でなければなりません。

  • TDIMS_ATDIMS_B は 2 次元でなければなりません (すなわち、[2 1] または [1 2])。

  • TSIZE_B は 2 要素配列 [D1 D2] でなければなりません。ここで D1D2 は出力空間の最初と 2 番目の変換次元です。

  • TMAP_B[TSIZE_B 2] でなければなりません。

  • F は、m × n × p 配列の場合はスカラーまたは p 行 1 列の配列のいずれかです。あるいは、F は、m × n × 3 × p 配列の場合はスカラー、1 行 p 列の配列、3 行 1 列の配列、3 行 p 列の配列のいずれかです。

watershed

m × n × p のみ

2 次元連結性には watershed(I,conn) 構文を使用しなければなりません。

関連するトピック