我是靠谱客的博主 飞快绿草,最近开发中收集的这篇文章主要介绍matlab取图上点数据,Matlab手动点取图形曲线数据并重画,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

z=imread('1.jpg');

imshow(z)

I=imread('f:/1.jpg')

imshow(I)

1: 若fig图像文件存在,而其数据丢失,可直接使用函数从fig文件中将数据导出

①open('d:filename.fig');% filename是文件名

% 取出曲线的handle,这里gca表示当前图形的CurrentAxes属性

% 如果图中有多条曲线,lh为一个数组

lh = findall(gca, 'type', 'line');

% 取出x轴数据

xc = get(lh, 'xdata');%多条曲线,若取第i条线的数据,则xc=get(lh(i),'xdata')

% 取出y轴数据

yc = get(lh, 'ydata');

%结果显示

xc %x轴数据矩阵

yc %y轴数据矩阵

解释:

gcf 返回当前Figure对象的句柄值

gca返回当前axes对象的句柄值

gco返回当前鼠标单击的句柄值,该对象可以是除root对象外的任意图形对象,并且Matlab 会把当前图形对象的句柄值存放在Figure的CurrentObject属性中。

2:若为非fig格式的其他常见图片格式,如.jpg,.png等等,可采取手动点击和程序取值等方式。

①手动点击取值作图

clear all;

clc;

y=imread('d:xx.png'); %读取该图

imshow(y); %显示该图

set(gcf,'outerposition',get(0,'screensize')); %使该图显示最大化,便于取点

[x0,y0] = ginput; %利用鼠标取点,按回车键结束。

%这个时候可以顺序点取图中坐标轴的,左下,左上,右上,右下四个点。

%存取角点坐标信息

save corner.mat x0 y0

%开始撷取其中一条实线上的点,按你需要的精度,点取任意多的点,回车结束[x1,y1] = ginput;

%存取曲线1的点源信息

save line1.mat x1 y1

%其余曲线类推

%存取曲线2的点源信息

最后

以上就是飞快绿草为你收集整理的matlab取图上点数据,Matlab手动点取图形曲线数据并重画的全部内容,希望文章能够帮你解决matlab取图上点数据,Matlab手动点取图形曲线数据并重画所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部