Filter löschen
Filter löschen

ガウスfilterによるfitting

2 Ansichten (letzte 30 Tage)
Saito
Saito am 18 Sep. 2020
Beantwortet: Saito am 12 Okt. 2020
添付したファイルのように、xyの7x7のメッシュの座標にガウシアンによってz の値を平滑化した値を表示して3次元で表したいのですが、どのようにZ軸をガウシアンで平滑化したら良いでしょうか?

Antworten (2)

Kenta
Kenta am 26 Sep. 2020
clear;clc;close all
data=importdata('xyz.xlsx');
intensity=data.data;
xmin=min(intensity(:,1));
ymin=min(intensity(:,2));
data2=intensity;
data2(:,1)=data2(:,1)-xmin+1;
data2(:,2)=data2(:,2)-ymin+1;
out=zeros(max(data2(:,1:2)));
ind=sub2ind(size(out),data2(:,1),data2(:,2));
out(ind)=data2(:,3);
Iblur1 = imgaussfilt(out,2);
figure;imshowpair(out,Iblur1,'montage')
こんにちは、このような感じでいかがでしょうか。ガウシアンfilterについてはこちらのURLは役に立ちそうでしょうか?

Saito
Saito am 12 Okt. 2020
試してみたのですが、image processing toolboxが必要なようでしたので、以下の式を使ってCurve fiiting toolboxを使って処理して見ました。ただ、ピークがもともとのデータとかなり異なってしまうので、内挿とガウシアンの組み合わせでもう少しFitさせる計算方法は無いか探しています。
z=f(x,y) = c*exp(-(x-x0)^2/(2*sigmax^2)-(y-y0)^2/(2*sigmay^2))

Kategorien

Mehr zu フィルター バンク finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!