cwtft2
2 次元連続ウェーブレット変換
説明
例
星のイメージを読み込んで表示します。
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
は、インデックス付きイメージを表す 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 ウェーブレットおよびスケールのベクトルを指定します。
2 次元 CWT で使用するラジアン単位の角度。スカラーまたはベクトルとして指定します。
例: angles=[0 pi/2 pi]
2 次元 CWT で使用する正規化。次のいずれかとして指定します。
"L2"
— 指定されたスケールでの解析ウェーブレットのフーリエ変換が、対応するスケールで乗算されます。"L2"
は既定の正規化です。"L1"
— 解析ウェーブレットのフーリエ変換が、すべてのスケールにおいて 1 で乗算されます。"L0"
— 指定されたスケールでの解析ウェーブレットのフーリエ変換が、対応するスケールの 2 乗で乗算されます。
例: norm="L1"
2 次元 CWT で使用するスケール。実数値のスカラーまたはベクトルとして指定します。スケールは 1 以上でなければなりません。
例: scales=[1 2 3 5 8]
データ型: double
| single
解析ウェーブレット。文字ベクトル、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 ウェーブレットを構造体配列として指定します。
出力引数
2 次元 CWT。次のフィールドをもつ構造体として返されます。
ウェーブレットとパラメーターの解析。次のフィールドを含む構造体として返されます。
wname
— ウェーブレット名param
— ウェーブレット パラメーター
正規化定数。M 行 N 列の行列として返されます。ここで、M はスケールの数、N は角度の数です。
CWT 係数。N 次元配列として返されます。
配列の行と列の次元は、入力データの行と列の次元と同じです。
配列の 3 ページ目は、入力データがグレースケール イメージであるかトゥルーカラー イメージであるかに応じて、それぞれ 1 または 3 に等しくなります。
配列の 4 ページ目はスケールの数と同じです。
配列の 5 ページ目は角度の数と同じです。
2 次元 CWT のスケール。行ベクトルとして返されます。
2 次元 CWT の角度。行ベクトルとして返されます。
入力データの平均。スカラーとして返されます。
アルゴリズム
cwtft2
関数は、入力データの 2 次元フーリエ変換と解析ウェーブレットを乗算して反転する、フーリエ変換ベースのアルゴリズムを使用します。
拡張機能
使用上の注意および制限:
名前と値の引数
wavelet
の値は、コンパイル時に定数でなければなりません。coder.Constant
(MATLAB Coder) を使用してください。プロットはサポートされていません。
バージョン履歴
R2013b で導入cwtft2
関数は C/C++ コード生成をサポートしています。C/C++ コードを生成するには、MATLAB® Coder™ が必要です。
関数 cwtft2
を使用して、16 ビット イメージの 2 次元 CWT を求めることができます。
関数 cwtft2
用のプロット構文は引き続き機能しますが、非推奨になりました。代わりに、ウェーブレット イメージ アナライザー アプリを使用してください。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)