1

ガウス ハイパス フィルターを設計して画像を鮮明にしようとしています。ハイパスフィルターが単位行列からローパスフィルターを引いたものに等しいという事実を使用してこれを行いたいので、次のようにしました。

image= imread('Question3_Data-Cats.jpg'); % read image

H = 1 - fspecial('gaussian' ,[5 5],2); % create unsharp mask
sharpened = imfilter(image,H);  % create a sharpened version of the image using that mask

imshow([image sharpened]); %showing input & output images

シャープなイメージは得られませんでした。代わりに、画像の小さな領域にいくつかの色が付いた白い画像が得られました。誰か助けてくれませんか?ありがとうございました。

4

3 に答える 3

6

カーネルとイメージにしましょうg。次に、(畳み込み)画像のぼやけたバージョンを提供します。これは、イメージのバージョンを意味します。gaussianff * glow-passed

次に、検討しf - f \ast gます。という意味image - lowpass imageです。これによりhigh-passed、イメージのバージョンが得られます。画像の詳細のみが含まれています。詳細は、黒の背景に白で表示されます。それが今のあなたのイメージだと思います。

画像詳細

画像から画像の詳細を抽出したら、それらを画像に追加して鮮明な画像を取得する必要があります。

画像をシャープにする

つまり、画像との畳み込みによってシャープな画像を取得できることを意味2e - gします (これはアンシャープ マスクです)。

を使用し2eて matlab から取得できます。padarray(2,[2 2])gfspecial('gaussian' ,[5 5],2)

H = padarray(2,[2 2]) - fspecial('gaussian' ,[5 5],2); %create unsharp mask

場合によっては、画像の細部の明るさを制御する必要があります。あなたはそれを行うことができます

画像を鮮明にする = 画像 + アルファ (画像の詳細)

画像の細部の明るさを制御する

于 2015-12-19T09:45:40.047 に答える
5

これを試して:

H = padarray(2,[2 2]) - fspecial('gaussian' ,[5 5],2); % create unsharp mask

1 はスカラーです。中央に 1 つの 5x5 配列が必要です。さらに、明るさを維持したい場合は、フィルター要素の合計が 1 になる必要があるため、減算する量に対抗するために中心値を 2 倍にする必要があります。

于 2013-04-06T18:46:18.853 に答える
-1
I= imread('peppers.png'); % read image
H = padarray(2,[2 2]) - fspecial('gaussian' ,[5 5],2); % create unsharp mask % create unsharp mask
figure,imshow(I);
K = imfilter(I,H);  % create a sharpened version of the image using that mask
figure,imshow(K); %showing input & output images
于 2016-11-04T19:09:12.177 に答える