嗨,我用高斯函数拟合了一个直方图。现在我想知道如何从高斯拟合中提取一系列细胞直径。

22次浏览(过去30天)
曲线拟合直方图(x =细胞直径y =频率)
3评论
Akshay Kumar Pakala
Akshay Kumar Pakala 2021年10月29日
如果你想让我在代码中添加更多的注释,请告诉我。
另外,我想知道,如何根据我的高斯拟合创建随机3d点?

登录评论。

接受的答案

焉耆刘
焉耆刘 2021年11月1日
编辑:焉耆刘 2021年11月2日
先生,请检查下面的代码来获取一些信息
clc;清晰的所有;关闭所有
BW = imread(“//www.tatmou.com/matlabcentral/answers/uploaded_files/783383/image.png”);
[nr,nc,layers] = size(BW);
将图像转换为2d,这样图像就可以被标记为%%
如果层> 1
Bw = Bw (:,:,1);
结束
%结束标记%%%%%%%%%%%%%%%%%
binaryimage = BW < 128;
Bw = logical(binaryimage);
imwrite (bw,“imagetoapp.jpg”);
%%标记图像%%%%%%
[labeleimage, numberofblobs] = bwlabel(binaryimage,8);
Props = regionprops(labeledimage,“Equivdiameter”);
X =数字(道具);
Y = 0 (x,1);
I = 1:1:长度(道具)
Y (i,1) = struct2array(props(i,1));
结束
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
标记图像到rgb
colorredimage = label2rgb(labeledimage,“喷气机”[0, 0, 0.5]);
coloredLabelsImage = label2rgb (labeledimage,“喷气机”“k”“洗牌”);
imshowpair (labeledimage colouredimage,“蒙太奇”
持有
%%生成直方图并使用高斯函数%%%%%%%%%进行曲线拟合
图()
Y1 =直方图(y,45);
values = y1.Values;
一个= y1.BinEdges;
I = 1:长度(a)-1
B (i) = mean(a(i:i+1));
结束
[barheights, position] = hist(y,45);
位置转置=位置';
Valuestranspose = values';
高斯='d + a*exp(-(1/2)*((x-b)/c)²)'
高斯='d + a*exp(-(1/2)*((x-b)/c)²)'
Startpoints = [40 20 10 0.5];
Myfit = fit(位置转置,值转置,高斯,“开始”,曾经繁荣);
持有
情节(myfit)
Z (: 1) = myfit(x);
zt型= myfit (b);
%%绘图属性
包含(“细胞直径”
ylabel (“频率”
持有;情节(b,等。的r *
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
5个评论

登录评论。

更多答案(2)

焉耆刘
焉耆刘 2021年10月29日
先生,可以上传数据垫文件或图形文件进行分析
1评论
Akshay Kumar Pakala
Akshay Kumar Pakala 2021年10月29日
如果你想让我在代码中添加更多的注释,请告诉我。
另外,我想知道,如何根据我的高斯拟合创建随机3d点?

登录评论。


Akshay Kumar Pakala
Akshay Kumar Pakala 2021年10月29日
编辑:沃尔特·罗伯森 2021年11月1日
clc
清晰的所有
BW = imread(“binary.PNG”);
[nr,nc,layers] = size(BW);
将图像转换为2d,这样图像就可以被标记为%%
如果层> 1
Bw = Bw (:,:,1);
结束
%结束标记%%%%%%%%%%%%%%%%%
binaryimage = BW < 128;
Bw = logical(binaryimage);
imwrite (bw,“imagetoapp.jpg”);
%%标记图像%%%%%%
[labeleimage, numberofblobs] = bwlabel(binaryimage,8);
Props = regionprops(labeledimage,“Equivdiameter”);
X =数字(道具);
Y = 0 (x,1);
I = 1:1:长度(道具)
Y (i,1) = struct2array(props(i,1));
结束
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
标记图像到rgb
colorredimage = label2rgb(labeledimage,“喷气机”[0, 0, 0.5]);
coloredLabelsImage = label2rgb (labeledimage,“喷气机”“k”“洗牌”);
imshowpair (labeledimage colouredimage,“蒙太奇”
持有
%%生成直方图并使用高斯函数%%%%%%%%%进行曲线拟合
图()
Y1 =直方图(y,45);
values = y1.Values;
[barheights, position] = hist(y,45);
位置转置=位置';
Valuestranspose = values';
高斯='d + a*exp(-(1/2)*((x-b)/c)²)'
Startpoints = [40 20 10 0.5];
Myfit = fit(位置转置,值转置,高斯,“开始”,曾经繁荣);
持有
情节(myfit)
Z (: 1) = myfit(x);
%%绘图属性
包含(“细胞直径”
ylabel (“频率”
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %