ガウスfilterによるfitting

4 次查看(过去 30 天)
Saito
Saito 2020-9-18
回答: Saito 2020-10-12
添付したファイルのように、xyの7x7のメッシュの座標にガウシアンによってz の値を平滑化した値を表示して3次元で表したいのですが、どのようにZ軸をガウシアンで平滑化したら良いでしょうか?

回答(2 个)

Kenta
Kenta 2020-9-26
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 2020-10-12
試してみたのですが、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))

类别

Help CenterFile Exchange 中查找有关 フィルター バンク 的更多信息

Community Treasure Hunt

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

Start Hunting!