Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

edgetaper

イメージ エッジに沿って不連続部分を次第に小さくする

説明

J = edgetaper(I,PSF) は、点像分布関数 PSF を使用して、入力イメージ I のエッジをぼかします。

出力イメージ J は元のイメージ I とぼかしたイメージの和を重み付けしたものです。重み付け配列は PSF の自己相関関数によって決まりますが、中心部では JI に等しくし、エッジ付近ではぼかした I に等しくします。

関数 edgetaper は、離散フーリエ変換 (関数 deconvwnr、関数 deconvreg、関数 deconvlucy など) を使用するイメージのブレ除去法のリンギングの影響を低減します。

すべて折りたたむ

original = imread('cameraman.tif'); 
PSF = fspecial('gaussian',60,10);
edgesTapered = edgetaper(original,PSF);
figure, imshow(original,[]);

Figure contains an axes object. The axes object contains an object of type image.

figure, imshow(edgesTapered,[]);

Figure contains an axes object. The axes object contains an object of type image.

入力引数

すべて折りたたむ

入力イメージ。数値配列として指定します。

データ型: single | double | int16 | uint8 | uint16

点像分布関数。数値配列として指定します。PSF のサイズはどの次元でもイメージ サイズの 1/2 を超えることはできません。

データ型: single | double | int16 | uint8 | uint16

出力引数

すべて折りたたむ

元のイメージとぼかしたイメージの和を重み付けした合計。I と同じサイズとクラスの数値配列として返されます。重み付け配列は PSF の自己相関関数によって決まりますが、中心部では JI に等しくし、エッジ付近ではぼかした I に等しくします。

バージョン履歴

R2006a より前に導入