このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
cwtft2
2 次元連続ウェーブレット変換
説明
例
Morlet ウェーブレットを使用した 2 次元 CWT
星のイメージを読み込んで表示します。
img = imread("star.jpg");
image(img)
既定の関数の値を使用して星のイメージの 2 次元 CWT を求めます。係数の大きさを最も細かいスケールで可視化します。
cwtout = cwtft2(img); sca = 1; imagesc(abs(cwtout.cfs(:,:,1,1,sca)))
等方性ウェーブレットと異方性ウェーブレットの比較
この例では、異方性ウェーブレットが特徴の方向を識別する一方で、等方性ウェーブレットがどのように特徴の方向を識別しないかを示します。この例では、Marr 等方性ウェーブレットと指向性 (異方性) コーシー ウェーブレットを使用します。
六角形のイメージを読み込んで表示します。
img = imread("hexagon.jpg");
imagesc(img)
Marr ウェーブレットとコーシー ウェーブレットの両方を使用して、イメージの 2 次元 CWT を求めます。スケールを 1 に指定します。角度のベクトルを 単位で 0 ~ ラジアンとなるように指定します。
cwtScales = 1; cwtAngles = 0:pi/8:2*pi-pi/8; cwtCauchy = cwtft2(img,wavelet="cauchy",scales=cwtScales, ... angles=cwtAngles); cwtMarr = cwtft2(img,wavelet="marr",scales=cwtScales, ... angles=cwtAngles);
角度は 16 個あります。連続する 2 つの角度におけるスケール 1 の 2 次元 CWT 係数の振幅を可視化します。Marr 等方性ウェーブレットを使用すると特徴の方向が識別されないが、コーシー ウェーブレットでは識別されることを確認します。
angz = {"0", "pi/8", "pi/4", "3pi/8", "pi/2", "5pi/8", "3pi/4", ... "7pi/8","pi", "9pi/8", "5pi/4", "11pi/8", "3pi/2", ... "13pi/8" "7pi/4", "15pi/8"}; indexAngle1 = 7; indexAngle2 = 8; tiledlayout(2,2) for k=[indexAngle1 indexAngle2] nexttile imagesc(abs(cwtMarr.cfs(:,:,1,1,k))) title(["Marr Wavelet at " angz(k) "radians"]) nexttile imagesc(abs(cwtCauchy.cfs(:,:,1,1,k))) title(["Cauchy Wavelet at " angz(k) "radians"]) end
Marr 等方性ウェーブレットを使用して求めた 2 次元 CWT 係数の振幅を任意の 2 つの角度で可視化します。ウェーブレットが特徴の方向を識別しないことを確認します。
indexAngle1 = 2; indexAngle2 = 7; tiledlayout(1,2) for k=[indexAngle1 indexAngle2] nexttile imagesc(abs(cwtMarr.cfs(:,:,1,1,k))) title(["Marr Wavelet at " angz(k) "radians"]) end
入力引数
X
— 入力データ
配列
入力データ。数値配列として指定します。X
は、インデックス付きイメージを表す M 行 N 列の配列かトゥルーカラー イメージを表す M×N×3 の配列です。
データ型: double
| single
| uint8
| uint16
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
例: wavelet="paul",scales=2.^(0:5)
は、Paul ウェーブレットおよびスケールのベクトルを指定します。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name
を引用符で囲みます。
例: "wavelet","paul","scales",2.^(0:5)
は、Paul ウェーブレットおよびスケールのベクトルを指定します。
angles
— 角度
0
(既定値) | スカラー | ベクトル
2 次元 CWT で使用するラジアン単位の角度。スカラーまたはベクトルとして指定します。
例: angles=[0 pi/2 pi]
norm
— 正規化
"L2"
(既定値) | "L1"
| "L0"
2 次元 CWT で使用する正規化。次のいずれかとして指定します。
"L2"
— 指定されたスケールでの解析ウェーブレットのフーリエ変換が、対応するスケールで乗算されます。"L2"
は既定の正規化です。"L1"
— 解析ウェーブレットのフーリエ変換が、すべてのスケールにおいて 1 で乗算されます。"L0"
— 指定されたスケールでの解析ウェーブレットのフーリエ変換が、対応するスケールの 2 乗で乗算されます。
例: norm="L1"
scales
— スケール
2.^(0:5)
(既定値) | 実数値のスカラー | 実数値のベクトル
2 次元 CWT で使用するスケール。実数値のスカラーまたはベクトルとして指定します。スケールは 1 以上でなければなりません。
例: scales=[1 2 3 5 8]
データ型: double
| single
wavelet
— 解析ウェーブレット
"morlet"
(既定値) | 文字ベクトル | string スカラー | 構造体 | cell 配列
解析ウェーブレット。文字ベクトル、string スカラー、構造体、または cell 配列として指定します。cwtftinfo2
は、サポートされているウェーブレットおよび関連パラメーターの包括的な一覧を提供します。
wavelet
を構造体として指定する場合、その構造体には次の 2 つのフィールドが含まれていなければなりません。
name
— サポートされているウェーブレットに対応する文字ベクトルまたは string スカラー。param
— ウェーブレットに依存するオプション パラメーターが格納された cell 配列。オプション パラメーターを指定したくない場合は、フィールドで空の cell 配列を使用します。
wavelet
を cell 配列 wav
として指定する場合、その cell 配列には次の 2 つの要素が含まれていなければなりません。
wav{1}
— サポートされているウェーブレットに対応する文字ベクトルまたは string スカラー。wav{2}
— ウェーブレットのパラメーターをもつ cell 配列。
例: wavelet={"morlet",{6,1,1}}
は、Morlet ウェーブレットを cell 配列として指定します。
例: wavelet=struct("name","paul","param",{{2}})
は、Paul ウェーブレットを構造体配列として指定します。
出力引数
cwtstruct
— 2 次元 CWT
構造体
2 次元 CWT。次のフィールドをもつ構造体として返されます。
wav
— ウェーブレットとパラメーターの解析
構造体
ウェーブレットとパラメーターの解析。次のフィールドを含む構造体として返されます。
wname
— ウェーブレット名param
— ウェーブレット パラメーター
wav_norm
— 正規化定数
行列
正規化定数。M 行 N 列の行列として返されます。ここで、M はスケールの数、N は角度の数です。
cfs
— CWT 係数
配列
CWT 係数。N 次元配列として返されます。
配列の行と列の次元は、入力データの行と列の次元と同じです。
配列の 3 ページ目は、入力データがグレースケール イメージであるかトゥルーカラー イメージであるかに応じて、それぞれ 1 または 3 に等しくなります。
配列の 4 ページ目はスケールの数と同じです。
配列の 5 ページ目は角度の数と同じです。
scales
— スケール
ベクトル
2 次元 CWT のスケール。行ベクトルとして返されます。
angles
— 角度
ベクトル
2 次元 CWT の角度。行ベクトルとして返されます。
meanSIG
— 平均
スカラー
入力データの平均。スカラーとして返されます。
バージョン履歴
R2013b で導入R2023b: データ型 uint16
のサポート
関数 cwtft2
を使用して、16 ビット イメージの 2 次元 CWT を求めることができます。
R2023b: プロットは非推奨
関数 cwtft2
用のプロット構文は引き続き機能しますが、非推奨になりました。代わりに、ウェーブレット イメージ アナライザー アプリを使用してください。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)