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 次元イメージを示しています。

2-D images concatenated along the third dimension as if they are a stack of photographs.

関数 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 を使用します。

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

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

ツールボックス関数の多くは、多次元配列に使用できます。そのため、イメージ シーケンスにも使用できます。たとえば、多次元配列を関数 imwarp に渡した場合、同じ 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 次元でなければなりません。

watershed

m × n × p のみ

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

関連するトピック