如何对contourf图像进行去燥处理处理matlab
1个回答
2017-09-20
展开全部
如何对contourf图像进行去燥处理处理matlab
[X Y Z]=peaks; %生成一个二维高斯分布曲面代替你的数据
[c h]=contourf(X,Y,Z,5); %画的时候要保存返回的c h
hc=get(h,'Children'); %获得等值线填充对象
n=length(hc);
v=zeros(n,1);
s=zeros(n,1);
for i=1:n
x=get(hc(i),'xdata'); %第i个填充对象x数据
y=get(hc(i),'ydata'); %第i个填充对象y数据
l=length(x);
s(i)=sum((x([2:l,1]) - x).*(y([2:l,1]) + y))/2; %计算第i个填充对象面积
v(i)=get(hc(i),'UserData'); %获得第i个对象对应的等值
end
[v m n]=unique(v); %找出相同等值的对象
s=accumarray(n,s); %合拼他们的面积
v表示等值线的所在的等值
s表示等值线包围的大于这个等值部分的面积
我想你最终是想求两个等值之间的面积
所以求大于某值的面积和小于某值的面积都是可以的
就matlab自己返回的数句求大于某等值的面积比较简单
[X Y Z]=peaks; %生成一个二维高斯分布曲面代替你的数据
[c h]=contourf(X,Y,Z,5); %画的时候要保存返回的c h
hc=get(h,'Children'); %获得等值线填充对象
n=length(hc);
v=zeros(n,1);
s=zeros(n,1);
for i=1:n
x=get(hc(i),'xdata'); %第i个填充对象x数据
y=get(hc(i),'ydata'); %第i个填充对象y数据
l=length(x);
s(i)=sum((x([2:l,1]) - x).*(y([2:l,1]) + y))/2; %计算第i个填充对象面积
v(i)=get(hc(i),'UserData'); %获得第i个对象对应的等值
end
[v m n]=unique(v); %找出相同等值的对象
s=accumarray(n,s); %合拼他们的面积
v表示等值线的所在的等值
s表示等值线包围的大于这个等值部分的面积
我想你最终是想求两个等值之间的面积
所以求大于某值的面积和小于某值的面积都是可以的
就matlab自己返回的数句求大于某等值的面积比较简单
东莞大凡
2024-08-07 广告
2024-08-07 广告
OpenCV标定板是东莞市大凡光学科技有限公司在相机标定中常用的工具。它通常由黑白格点按一定规则排列在平面上组成,如棋盘格或圆形格等。在相机标定时,将标定板置于不同位置和姿态下拍摄图像,利用OpenCV库中的函数检测标定板上的角点或圆心,进...
点击进入详情页
本回答由东莞大凡提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询