Main Content

sizesMatch

オブジェクトとイメージのサイズの互換性の判断

説明

TF = sizesMatch(R,A) は、イメージ A のサイズが空間参照オブジェクト RImageSize プロパティと一致する場合に True を返します。

すべて折りたたむ

2 次元グレースケール イメージをワークスペースに読み取ります。イメージのサイズを表示します。

I = imread('cameraman.tif');
size(I)
ans = 1×2

   256   256

イメージと同じ次元の imref2d 空間参照オブジェクトを作成します。

R = imref2d(size(I))
R = 
  imref2d with properties:

           XWorldLimits: [0.5000 256.5000]
           YWorldLimits: [0.5000 256.5000]
              ImageSize: [256 256]
    PixelExtentInWorldX: 1
    PixelExtentInWorldY: 1
    ImageExtentInWorldX: 256
    ImageExtentInWorldY: 256
       XIntrinsicLimits: [0.5000 256.5000]
       YIntrinsicLimits: [0.5000 256.5000]

イメージのサイズがオブジェクトの ImageSize プロパティと一致するかどうかを確認します。

res = sizesMatch(R,I)
res = logical
   1

サイズが異なる別の 2 次元グレースケール イメージを読み取ります。このイメージのサイズを表示します。

I2 = imread('coins.png');
size(I2)
ans = 1×2

   246   300

このイメージのサイズが元の空間参照オブジェクトのサイズと一致するかどうかを確認します。

res2 = sizesMatch(R,I2)
res2 = logical
   0

結果は予想どおり false です。

RGB イメージをワークスペースに読み取ります。イメージのサイズを表示します。

I = imread('peppers.png');
size(I)
ans = 1×3

   384   512     3

イメージと同じ次元の imref2d 空間参照オブジェクトを作成します。オブジェクトは、イメージ配列の 3 番目の次元に関する情報を保持しません。

R = imref2d(size(I))
R = 
  imref2d with properties:

           XWorldLimits: [0.5000 512.5000]
           YWorldLimits: [0.5000 384.5000]
              ImageSize: [384 512]
    PixelExtentInWorldX: 1
    PixelExtentInWorldY: 1
    ImageExtentInWorldX: 512
    ImageExtentInWorldY: 384
       XIntrinsicLimits: [0.5000 512.5000]
       YIntrinsicLimits: [0.5000 384.5000]

イメージのサイズがオブジェクトの ImageSize プロパティと互換性があるかを確認します。

res = sizesMatch(R,I)
res = logical
   1

3 次元ボリュームをワークスペースに読み取ります。このイメージは、27 フレームの 128 x 128 ピクセル グレースケール イメージから構成されます。

load mri;
D = squeeze(D);
D = ind2gray(D,map);
size(D)
ans = 1×3

   128   128    27

ボリュームに関連付けられた imref3d 空間参照オブジェクトを作成します。

R = imref3d(size(D))
R = 
  imref3d with properties:

           XWorldLimits: [0.5000 128.5000]
           YWorldLimits: [0.5000 128.5000]
           ZWorldLimits: [0.5000 27.5000]
              ImageSize: [128 128 27]
    PixelExtentInWorldX: 1
    PixelExtentInWorldY: 1
    PixelExtentInWorldZ: 1
    ImageExtentInWorldX: 128
    ImageExtentInWorldY: 128
    ImageExtentInWorldZ: 27
       XIntrinsicLimits: [0.5000 128.5000]
       YIntrinsicLimits: [0.5000 128.5000]
       ZIntrinsicLimits: [0.5000 27.5000]

ボリュームのサイズがオブジェクトの ImageSize プロパティと一致するかどうかを確認します。

res = sizesMatch(R,D)
res = logical
   1

予想どおり、サイズは一致します。

サイズの異なる別のイメージを読み込みます。このイメージは、RGB イメージを表す 3 次元配列です。

I = imread('peppers.png');
size(I)
ans = 1×3

   384   512     3

このイメージのサイズが元の空間参照オブジェクトのサイズと一致するかどうかを確認します。

res2 = sizesMatch(R,I)
res2 = logical
   0

結果は予想どおり false です。

入力引数

すべて折りたたむ

空間参照オブジェクト。imref2d または imref3d オブジェクトとして指定します。

入力イメージ。mn 列または m x n x p の数値配列として指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

出力引数

すべて折りたたむ

サイズの互換性を示すフラグ。logical スカラーとして返されます。イメージ A のサイズが参照オブジェクト R と一致する場合、TFTrue です。R が、

  • imref2d 空間参照オブジェクトの場合、R.ImageSize == [size(A,1) size(A,2)] であるとき TF は true を返します。

    メモ

    A の次元は、imref2d 空間参照オブジェクトの次元と一致する必要はありません。たとえば、RGB イメージは imref2d オブジェクトと一致する場合があります。この場合、sizesMatch は、3 番目のイメージ次元を無視します。

  • imref3d 空間参照オブジェクトの場合、R.ImageSize == size(A) であるとき TF は true を返します。A は 3 次元配列でなければなりません。

データ型: logical

バージョン履歴

R2013a で導入