matlab中如何提取等高线,在Python或MATLAB中从等高线图中提取数据

matlab中如何提取等高线,在Python或MATLAB中从等高线图中提取数据这是一个小型的Matlab脚本,可以完成这项工作(使用一些GUI,在图的斜角处读取guidlines):%//Importthedata:imdata=importdata(‘your_picture_file’);Gray=rgb2gray(imdata.cdata);colorLim=[-11];%//thisshouldbesetmanually%//Get…

这是一个小型的Matlab脚本,可以完成这项工作(使用一些GUI,在图的斜角处读取guidlines):

%// Import the data:

imdata = importdata(‘your_picture_file’);

Gray = rgb2gray(imdata.cdata);

colorLim = [-1 1]; %// this should be set manually

%// Get the area of the data:

f = figure(‘Position’,get(0,’ScreenSize’));

imshow(imdata.cdata,’Parent’,axes(‘Parent’,f),’InitialMagnification’,’fit’);

%// Get the area of the data:

title(‘Click with the cross on the most top left area of the *data*’)

da_tp_lft = round(getPosition(impoint));

title(‘Click with the cross on the most bottom right area of the *data*’)

da_btm_rgt = round(getPosition(impoint));

dat_area = double(Gray(da_tp_lft(2):da_btm_rgt(2),da_tp_lft(1):da_btm_rgt(1)));

%// Get the area of the colorbar:

title(‘Click with the cross within the upper most color of the *colorbar*’)

ca_tp_lft = round(getPosition(impoint));

title(‘Click with the cross within the bottom most color of the *colorbar*’)

ca_btm_rgt = round(getPosition(impoint));

cmap_area = double(Gray(ca_tp_lft(2):ca_btm_rgt(2),ca_tp_lft(1):ca_btm_rgt(1)));

close(f)

%// Convert the colormap to data:

data = dat_area./max(cmap_area(:)).*range(colorLim)-abs(min(colorLim));

现在, data 就是你要找的 .

以下是使用问题中的图形输出的说明:

4439e398-f122-467f-b042-61960eddeb49.png

插图的代码:

figure(‘Position’,[100 200 1200 400]);

subplot 121

imshow(imdata.cdata)

hold on

plot(da_tp_lft(1),da_tp_lft(2),’m+’,’MarkerSize’,7,’LineWidth’,2)

plot(da_btm_rgt(1),da_btm_rgt(2),’m+’,’MarkerSize’,7,’LineWidth’,2)

plot(ca_tp_lft(1),ca_tp_lft(2),’r+’,’MarkerSize’,7,’LineWidth’,2)

plot(ca_btm_rgt(1),ca_btm_rgt(2),’r+’,’MarkerSize’,7,’LineWidth’,2)

hold off

title(‘The original image’)

subplot 122

surf(data)

shading interp

view(50,40)

colorbar

caxis([-1 1])

title(‘Illusration of the data’)

axis tight

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/37475.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注